12018-05-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2 3 PR target/83687 4 * config/arm/neon.md (neon_vabd<mode>_2): Use VCVTF mode iterator. 5 Remove integer-related logic from pattern. 6 (neon_vabd<mode>_3): Likewise. 7 82018-04-25 Martin Liska <mliska@suse.cz> 9 10 Backport from mainline 11 2018-04-17 Martin Liska <mliska@suse.cz> 12 13 PR lto/85405 14 * ipa-devirt.c (odr_types_equivalent_p): Remove trailing 15 in message, remote space in between '_G' and '('. 16 172018-04-25 Martin Liska <mliska@suse.cz> 18 19 Backport from mainline 20 2018-04-17 Jan Hubicka <jh@suse.cz> 21 22 PR lto/85405 23 * ipa-devirt.c (odr_types_equivalent_p): Handle bit fields. 24 252018-04-23 Aaron Sawdey <acsawdey@linux.ibm.com> 26 27 Backport from mainline 28 2018-04-16 Aaron Sawdey <acsawdey@linux.ibm.com> 29 30 PR target/83660 31 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Mark 32 vec_extract expression as having side effects to make sure it gets 33 a cleanup point. 34 352018-04-23 Eric Botcazou <ebotcazou@adacore.com> 36 37 PR middle-end/85496 38 * expr.c (store_field): In the bitfield case, if the value comes from 39 a function call and is returned in registers by means of a PARALLEL, 40 do not change the mode of the temporary unless BLKmode and VOIDmode. 41 422018-04-18 Thomas Preud'homme <thomas.preudhomme@arm.com> 43 44 Backport from mainline 45 2018-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com> 46 47 PR target/85261 48 * config/arm/arm-builtins.c (arm_expand_builtin): Force input operand 49 into register. 50 512018-04-16 H.J. Lu <hongjiu.lu@intel.com> 52 53 Backport from mainline 54 2018-03-15 H.J. Lu <hongjiu.lu@intel.com> 55 56 PR target/84574 57 * config/i386/i386.c (indirect_thunk_needed): Update comments. 58 (indirect_thunk_bnd_needed): Likewise. 59 (indirect_thunks_used): Likewise. 60 (indirect_thunks_bnd_used): Likewise. 61 (indirect_return_needed): New. 62 (indirect_return_bnd_needed): Likewise. 63 (output_indirect_thunk_function): Add a bool argument for 64 function return. 65 (output_indirect_thunk_function): Don't generate alias for 66 function return thunk. 67 (ix86_code_end): Call output_indirect_thunk_function to generate 68 function return thunks. 69 (ix86_output_function_return): Set indirect_return_bnd_needed 70 and indirect_return_needed instead of indirect_thunk_bnd_needed 71 and indirect_thunk_needed. 72 732018-04-16 H.J. Lu <hongjiu.lu@intel.com> 74 75 Backport from mainline 76 2018-02-26 H.J. Lu <hongjiu.lu@intel.com> 77 78 PR target/84039 79 * config/i386/constraints.md (Bs): Replace 80 ix86_indirect_branch_register with 81 TARGET_INDIRECT_BRANCH_REGISTER. 82 (Bw): Likewise. 83 * config/i386/i386.md (indirect_jump): Likewise. 84 (tablejump): Likewise. 85 (*sibcall_memory): Likewise. 86 (*sibcall_value_memory): Likewise. 87 Peepholes of indirect call and jump via memory: Likewise. 88 (*sibcall_GOT_32): Disallowed for TARGET_INDIRECT_BRANCH_REGISTER. 89 (*sibcall_value_GOT_32): Likewise. 90 * config/i386/predicates.md (indirect_branch_operand): Likewise. 91 (GOT_memory_operand): Likewise. 92 (call_insn_operand): Likewise. 93 (sibcall_insn_operand): Likewise. 94 (GOT32_symbol_operand): Likewise. 95 * config/i386/i386.h (TARGET_INDIRECT_BRANCH_REGISTER): New. 96 972018-04-16 H.J. Lu <hongjiu.lu@intel.com> 98 99 Backport from mainline 100 2018-02-26 H.J. Lu <hongjiu.lu@intel.com> 101 102 * config/i386/i386.c (ix86_output_indirect_jmp): Update comments. 103 104 2018-02-26 H.J. Lu <hongjiu.lu@intel.com> 105 106 PR target/84530 107 * config/i386/i386-protos.h (ix86_output_indirect_jmp): Remove 108 the bool argument. 109 (ix86_output_indirect_function_return): New prototype. 110 (ix86_split_simple_return_pop_internal): Likewise. 111 * config/i386/i386.c (indirect_return_via_cx): New. 112 (indirect_return_via_cx_bnd): Likewise. 113 (indirect_thunk_name): Handle return va CX_REG. 114 (output_indirect_thunk_function): Create alias for 115 __x86_return_thunk_[re]cx and __x86_return_thunk_[re]cx_bnd. 116 (ix86_output_indirect_jmp): Remove the bool argument. 117 (ix86_output_indirect_function_return): New function. 118 (ix86_split_simple_return_pop_internal): Likewise. 119 * config/i386/i386.md (*indirect_jump): Don't pass false 120 to ix86_output_indirect_jmp. 121 (*tablejump_1): Likewise. 122 (simple_return_pop_internal): Change it to define_insn_and_split. 123 Call ix86_split_simple_return_pop_internal to split it for 124 -mfunction-return=. 125 (simple_return_indirect_internal): Call 126 ix86_output_indirect_function_return instead of 127 ix86_output_indirect_jmp. 128 1292018-04-16 H.J. Lu <hongjiu.lu@intel.com> 130 131 Backport from mainline 132 2018-02-02 H.J. Lu <hongjiu.lu@intel.com> 133 134 * config/i386/i386.c (ix86_output_function_return): Pass 135 INVALID_REGNUM, instead of -1, as invalid register number to 136 indirect_thunk_name and output_indirect_thunk. 137 1382018-04-16 H.J. Lu <hongjiu.lu@intel.com> 139 140 Backport from mainline 141 2018-01-17 Uros Bizjak <ubizjak@gmail.com> 142 143 * config/i386/i386.c (indirect_thunk_name): Declare regno 144 as unsigned int. Compare regno with INVALID_REGNUM. 145 (output_indirect_thunk): Ditto. 146 (output_indirect_thunk_function): Ditto. 147 (ix86_code_end): Declare regno as unsigned int. Use INVALID_REGNUM 148 in the call to output_indirect_thunk_function. 149 1502018-04-16 H.J. Lu <hongjiu.lu@intel.com> 151 152 Backport from mainline 153 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> 154 155 * config/i386/i386.c (ix86_set_indirect_branch_type): Disallow 156 -mcmodel=large with -mindirect-branch=thunk, 157 -mindirect-branch=thunk-extern, -mfunction-return=thunk and 158 -mfunction-return=thunk-extern. 159 * doc/invoke.texi: Document -mcmodel=large is incompatible with 160 -mindirect-branch=thunk, -mindirect-branch=thunk-extern, 161 -mfunction-return=thunk and -mfunction-return=thunk-extern. 162 1632018-04-16 H.J. Lu <hongjiu.lu@intel.com> 164 165 Backport from mainline 166 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> 167 168 * config/i386/i386.c (print_reg): Print the name of the full 169 integer register without '%'. 170 (ix86_print_operand): Handle 'V'. 171 * doc/extend.texi: Document 'V' modifier. 172 1732018-04-16 H.J. Lu <hongjiu.lu@intel.com> 174 175 Backport from mainline 176 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> 177 178 * config/i386/constraints.md (Bs): Disallow memory operand for 179 -mindirect-branch-register. 180 (Bw): Likewise. 181 * config/i386/predicates.md (indirect_branch_operand): Likewise. 182 (GOT_memory_operand): Likewise. 183 (call_insn_operand): Likewise. 184 (sibcall_insn_operand): Likewise. 185 (GOT32_symbol_operand): Likewise. 186 * config/i386/i386.md (indirect_jump): Call convert_memory_address 187 for -mindirect-branch-register. 188 (tablejump): Likewise. 189 (*sibcall_memory): Likewise. 190 (*sibcall_value_memory): Likewise. 191 Disallow peepholes of indirect call and jump via memory for 192 -mindirect-branch-register. 193 (*call_pop): Replace m with Bw. 194 (*call_value_pop): Likewise. 195 (*sibcall_pop_memory): Replace m with Bs. 196 * config/i386/i386.opt (mindirect-branch-register): New option. 197 * doc/invoke.texi: Document -mindirect-branch-register option. 198 199 Backport from mainline 200 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> 201 202 * config/i386/constraints.md (Bs): Replace 203 ix86_indirect_branch_thunk_register with 204 ix86_indirect_branch_register. 205 (Bw): Likewise. 206 * config/i386/i386.md (indirect_jump): Likewise. 207 (tablejump): Likewise. 208 (*sibcall_memory): Likewise. 209 (*sibcall_value_memory): Likewise. 210 Peepholes of indirect call and jump via memory: Likewise. 211 * config/i386/i386.opt: Likewise. 212 * config/i386/predicates.md (indirect_branch_operand): Likewise. 213 (GOT_memory_operand): Likewise. 214 (call_insn_operand): Likewise. 215 (sibcall_insn_operand): Likewise. 216 (GOT32_symbol_operand): Likewise. 217 218 Backport from mainline 219 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> 220 221 * config/i386/predicates.md (constant_call_address_operand): 222 Rewrite ix86_indirect_branch_register logic. 223 (sibcall_insn_operand): Likewise. 224 225 Backport from mainline 226 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> 227 228 * config/i386/constraints.md (Bs): Update 229 ix86_indirect_branch_register check. Don't check 230 ix86_indirect_branch_register with GOT_memory_operand. 231 (Bw): Likewise. 232 * config/i386/predicates.md (GOT_memory_operand): Don't check 233 ix86_indirect_branch_register here. 234 (GOT32_symbol_operand): Likewise. 235 236 Backport from mainline 237 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> 238 239 * config/i386/predicates.md (indirect_branch_operand): Rewrite 240 ix86_indirect_branch_register logic. 241 2422018-04-16 H.J. Lu <hongjiu.lu@intel.com> 243 244 Backport from mainline 245 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> 246 247 * config/i386/i386-protos.h (ix86_output_function_return): New. 248 * config/i386/i386.c (ix86_set_indirect_branch_type): Also 249 set function_return_type. 250 (indirect_thunk_name): Add ret_p to indicate thunk for function 251 return. 252 (output_indirect_thunk_function): Pass false to 253 indirect_thunk_name. 254 (ix86_output_indirect_branch_via_reg): Likewise. 255 (ix86_output_indirect_branch_via_push): Likewise. 256 (output_indirect_thunk_function): Create alias for function 257 return thunk if regno < 0. 258 (ix86_output_function_return): New function. 259 (ix86_handle_fndecl_attribute): Handle function_return. 260 (ix86_attribute_table): Add function_return. 261 * config/i386/i386.h (machine_function): Add 262 function_return_type. 263 * config/i386/i386.md (simple_return_internal): Use 264 ix86_output_function_return. 265 (simple_return_internal_long): Likewise. 266 * config/i386/i386.opt (mfunction-return=): New option. 267 (indirect_branch): Mention -mfunction-return=. 268 * doc/extend.texi: Document function_return function attribute. 269 * doc/invoke.texi: Document -mfunction-return= option. 270 271 Backport from mainline 272 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> 273 274 PR target/83839 275 * config/i386/i386.c (output_indirect_thunk_function): Use 276 ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO 277 for __x86.return_thunk. 278 2792018-04-16 H.J. Lu <hongjiu.lu@intel.com> 280 281 Backport from mainline 282 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> 283 284 * config/i386/i386-opts.h (indirect_branch): New. 285 * config/i386/i386-protos.h (ix86_output_indirect_jmp): Likewise. 286 * config/i386/i386.c (ix86_using_red_zone): Disallow red-zone 287 with local indirect jump when converting indirect call and jump. 288 (ix86_set_indirect_branch_type): New. 289 (ix86_set_current_function): Call ix86_set_indirect_branch_type. 290 (indirectlabelno): New. 291 (indirect_thunk_needed): Likewise. 292 (indirect_thunk_bnd_needed): Likewise. 293 (indirect_thunks_used): Likewise. 294 (indirect_thunks_bnd_used): Likewise. 295 (INDIRECT_LABEL): Likewise. 296 (indirect_thunk_name): Likewise. 297 (output_indirect_thunk): Likewise. 298 (output_indirect_thunk_function): Likewise. 299 (ix86_output_indirect_branch_via_reg): Likewise. 300 (ix86_output_indirect_branch_via_push): Likewise. 301 (ix86_output_indirect_branch): Likewise. 302 (ix86_output_indirect_jmp): Likewise. 303 (ix86_code_end): Call output_indirect_thunk_function if needed. 304 (ix86_output_call_insn): Call ix86_output_indirect_branch if 305 needed. 306 (ix86_handle_fndecl_attribute): Handle indirect_branch. 307 (ix86_attribute_table): Add indirect_branch. 308 * config/i386/i386.h (machine_function): Add indirect_branch_type 309 and has_local_indirect_jump. 310 * config/i386/i386.md (indirect_jump): Set has_local_indirect_jump 311 to true. 312 (tablejump): Likewise. 313 (*indirect_jump): Use ix86_output_indirect_jmp. 314 (*tablejump_1): Likewise. 315 (simple_return_indirect_internal): Likewise. 316 * config/i386/i386.opt (mindirect-branch=): New option. 317 (indirect_branch): New. 318 (keep): Likewise. 319 (thunk): Likewise. 320 (thunk-inline): Likewise. 321 (thunk-extern): Likewise. 322 * doc/extend.texi: Document indirect_branch function attribute. 323 * doc/invoke.texi: Document -mindirect-branch= option. 324 3252018-04-16 H.J. Lu <hongjiu.lu@intel.com> 326 327 Backport from mainline 328 PR target/83905 329 * config/i386/i386.c (ix86_expand_prologue): Use cost reference 330 of struct ix86_frame. 331 (ix86_expand_epilogue): Likewise. Add a local variable for 332 the reg_save_offset field in struct ix86_frame. 333 3342018-04-16 H.J. Lu <hongjiu.lu@intel.com> 335 336 Backport from mainline 337 2017-11-06 H.J. Lu <hongjiu.lu@intel.com> 338 339 * config/i386/i386.c (ix86_can_use_return_insn_p): Use reference 340 of struct ix86_frame. 341 (ix86_initial_elimination_offset): Likewise. 342 (ix86_expand_split_stack_prologue): Likewise. 343 3442018-04-16 H.J. Lu <hongjiu.lu@intel.com> 345 346 Backport from mainline 347 2017-10-13 H.J. Lu <hongjiu.lu@intel.com> 348 349 PR target/82499 350 * config/i386/i386.h (ix86_red_zone_size): New. 351 352 2017-06-01 Bernd Edlinger <bernd.edlinger@hotmail.de> 353 354 * config/i386/i386.c (ix86_frame): Moved to ... 355 * config/i386/i386.h (ix86_frame): Here. 356 (machine_function): Add frame. 357 * config/i386/i386.c (ix86_compute_frame_layout): Repace the 358 frame argument with &cfun->machine->frame. 359 (ix86_can_use_return_insn_p): Don't pass &frame to 360 ix86_compute_frame_layout. Copy frame from cfun->machine->frame. 361 (ix86_can_eliminate): Likewise. 362 (ix86_expand_prologue): Likewise. 363 (ix86_expand_epilogue): Likewise. 364 (ix86_expand_split_stack_prologue): Likewise. 365 3662018-04-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 367 368 Backport from mainline 369 2018-04-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 370 371 * config/s390/s390.c (s390_output_indirect_thunk_function): Check 372 also for flag_dwarf2_cfi_asm. 373 3742018-04-11 Uros Bizjak <ubizjak@gmail.com> 375 376 * config/alpha/alpha.md (stack_probe_internal): Rename 377 from "probe_stack". Update all callers. 378 3792018-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 380 381 Backport from mainline 382 2018-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 383 384 PR target/84748 385 * config/aarch64/aarch64.md (*compare_cstore<mode>_insn): Mark pattern 386 as clobbering CC_REGNUM. 387 3882018-04-06 Eric Botcazou <ebotcazou@adacore.com> 389 390 PR target/85196 391 * config/sparc/sparc.c (sparc_expand_move): Deal with symbolic operands 392 based on LABEL_REF. Remove useless assertion. 393 (pic_address_needs_scratch): Fix formatting. 394 (sparc_legitimize_pic_address): Minor tweaks. 395 (sparc_delegitimize_address): Adjust assertion accordingly. 396 * config/sparc/sparc.md (movsi_pic_label_ref): Change label_ref_operand 397 into symbolic_operand. 398 (movsi_high_pic_label_ref): Likewise. 399 (movsi_lo_sum_pic_label_ref): Likewise. 400 (movdi_pic_label_ref): Likewise. 401 (movdi_high_pic_label_ref): Likewise. 402 (movdi_lo_sum_pic_label_ref): Likewise. 403 4042018-04-05 Uros Bizjak <ubizjak@gmail.com> 405 406 PR target/85193 407 * config/i386/i386.md (define_attr "memory"): Handle rotate1 type. 408 4092018-04-02 Peter Bergner <bergner@vnet.ibm.com> 410 411 Backport from mainline 412 2018-03-28 Peter Bergner <bergner@vnet.ibm.com> 413 414 PR target/84912 415 * config/rs6000/rs6000.h: Update copyright date. 416 (RS6000_BTM_POWERPC64): New define. 417 (RS6000_BTM_COMMON): Add RS6000_BTM_POWERPC64. 418 * config/rs6000/rs6000.c: Update copyright date. 419 (rs6000_builtin_mask_calculate): Add support for RS6000_BTM_POWERPC64. 420 (rs6000_invalid_builtin): Add handling for RS6000_BTM_POWERPC64 421 (rs6000_builtin_mask_names): Add RS6000_BTM_POWERPC64. 422 * config/rs6000/rs6000-builtin.def: Update copyright date. 423 (BU_P7_POWERPC64_MISC_2): New macro definition. 424 (DIVDE): Use it. 425 (DIVDEU): Likewise. 426 427 Backport from mainline 428 2018-03-28 Peter Bergner <bergner@vnet.ibm.com> 429 430 PR target/84912 431 * config/rs6000/rs6000-builtin.def (DIVWEO): Delete macro expansion. 432 (DIVWEUO): Likewise. 433 (DIVDEO): Likewise. 434 (DIVDEUO): Likewise. 435 * config/rs6000/rs6000.c (builtin_function_type): Remove support for 436 DIVWEUO and DIVDEUO. 437 * config/rs6000/rs6000.md: Update copyright date. 438 (UNSPEC_DIVEO, UNSPEC_DIVEUO): Delete unspecs. 439 (UNSPEC_DIV_EXTEND): Remove deleted unspecs. 440 (div_extend): Likewise. 441 * doc/extend.texi: Update copyright date. 442 (__builtin_divweo): Remove documentation for deleted builtin function. 443 (__builtin_divweuo): Likewise. 444 (__builtin_divdeo): Likewise. 445 (__builtin_divdeuo): Likewise. 446 4472018-03-30 Cesar Philippidis <cesar@codesourcery.com> 448 449 Backport from mainline 450 2018-03-27 Cesar Philippidis <cesar@codesourcery.com> 451 452 PR target/85056 453 * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Add '[]' to 454 extern array declarations. 455 4562018-03-29 Sudakshina Das <sudi.das@arm.com> 457 458 Backport from mainline 459 2018-03-22 Sudakshina Das <sudi.das@arm.com> 460 461 PR target/84826 462 * config/arm/arm.h (machine_function): Add static_chain_stack_bytes. 463 * config/arm/arm.c (arm_compute_static_chain_stack_bytes): Avoid 464 re-computing once computed. 465 (arm_expand_prologue): Compute machine->static_chain_stack_bytes. 466 (arm_init_machine_status): Initialize 467 machine->static_chain_stack_bytes. 468 4692018-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 470 471 Backport from mainline 472 2018-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 473 474 PR target/85026 475 * config/arm/arm.md (unaligned_loadhis): Remove first alternative. 476 Clean up attributes. 477 4782018-03-28 Segher Boessenkool <segher@kernel.crashing.org> 479 480 Backport from mainline 481 2018-03-08 Segher Boessenkool <segher@kernel.crashing.org> 482 483 PR target/82411 484 * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Don't put 485 readonly data in sdata, if that is disabled. 486 * config/rs6000/sysv4.opt (mreadonly-in-sdata): New option. 487 * doc/invoke.texi (RS/6000 and PowerPC Options): Document 488 -mreadonly-in-sdata option. 489 4902018-03-27 Carl Love <cel@us.ibm.com> 491 492 Backport from mainline 493 2018-03-14 Carl Love <cel@us.ibm.com> 494 495 * config/rs6000/r6000.c (rtx_is_swappable_p): Add case UNSPEC_VPERMXOR. 496 4972018-03-27 Sudakshina Das <sudi.das@arm.com> 498 499 Backport from mainline: 500 2018-03-20 Sudakshina Das <sudi.das@arm.com> 501 502 PR target/82989 503 * config/arm/neon.md (ashldi3_neon): Update ?s for constraints 504 to favor GPR over NEON registers. 505 (<shift>di3_neon): Likewise. 506 5072018-03-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 508 509 Backport from mainline 510 2018-03-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 511 512 PR target/82518 513 * config/arm/arm.c (arm_array_mode_supported_p): Return false for 514 BYTES_BIG_ENDIAN. 515 5162018-03-22 Tom de Vries <tom@codesourcery.com> 517 518 backport from trunk: 519 2018-03-22 Tom de Vries <tom@codesourcery.com> 520 521 PR tree-optimization/84956 522 * tree-ssa-tail-merge.c (find_clusters_1): Skip bbs with 523 bb_has_abnormal_pred. 524 5252018-03-18 John David Anglin <danglin@gcc.gnu.org> 526 527 Backport from mainline 528 2016-12-11 John David Anglin <danglin@gcc.gnu.org> 529 530 * config/pa/pa.c (pa_callee_copies): New function. 531 * config/pa/pa.opt (mcaller-copies): New option. 532 * doc/invoke.texi (mcaller-copies): Document option. 533 5342018-03-14 John David Anglin <danglin@gcc.gnu.org> 535 536 PR target/83451 537 * config/pa/pa.c (pa_emit_move_sequence): Always emit secondary reload 538 insn for floating-point loads and stores. 539 5402018-03-12 Jonathan Wakely <jwakely@redhat.com> 541 542 * doc/invoke.texi (-mclflushopt): Fix spelling of option. 543 5442018-03-11 John David Anglin <danglin@gcc.gnu.org> 545 546 Backport from mainline 547 2018-02-14 John David Anglin <danglin@gcc.gnu.org> 548 549 PR target/83984 550 * config/pa/pa.md: Load address of PIC label using the linkage table 551 if the label is nonlocal. 552 553 Backport from mainline 554 2018-03-06 John David Anglin <danglin@gcc.gnu.org> 555 556 * config/pa/pa.h (ASM_GENERATE_INTERNAL_LABEL): Revise to use 557 sprint_ul. 558 (ASM_OUTPUT_ADDR_VEC_ELT): Revise for above change. 559 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. 560 * config/pa/pa64-hpux.h (ASM_GENERATE_INTERNAL_LABEL): Revise as above. 561 5622018-03-08 Martin Liska <mliska@suse.cz> 563 564 Backport from mainline 565 2016-12-14 Jakub Jelinek <jakub@redhat.com> 566 567 PR debug/77844 568 * valtrack.c: Include rtl-iter.h. 569 (struct rtx_subst_pair): Add insn field. 570 (propagate_for_debug_subst): If pair->to contains at least 2 571 regs, create a DEBUG_INSN with a debug temp before pair->insn 572 and replace from with the debug temp instead of pair->to. 573 (propagate_for_debug): Initialize p.insn. 574 * combine.c (insn_uid_check): New inline function. 575 (INSN_COST, LOG_LINKS): Use it instead of INSN_UID. 576 (find_single_use, combine_instructions, 577 cant_combine_insn_p, try_combine): Use NONDEBUG_INSN_P instead of 578 INSN_P. 579 5802018-03-08 Martin Liska <mliska@suse.cz> 581 582 Backport from mainline 583 2018-01-04 Martin Liska <mliska@suse.cz> 584 585 PR ipa/82352 586 * ipa-icf.c (sem_function::merge): Do not cross comdat boundary. 587 5882018-03-08 Martin Liska <mliska@suse.cz> 589 590 Backport from mainline 591 2017-10-31 Martin Liska <mliska@suse.cz> 592 593 PR gcov-profile/82633 594 * doc/gcov.texi: Document -fkeep-{static,inline}-functions and 595 their interaction with GCOV infrastructure. 596 * configure.ac: Add -fkeep-static-functions to 597 coverage_flags. 598 * configure: Regenerate. 599 6002018-03-08 Martin Liska <mliska@suse.cz> 601 602 Backport from mainline 603 2017-10-27 Martin Liska <mliska@suse.cz> 604 605 PR gcov-profile/82457 606 * doc/invoke.texi: Document that one needs a non-strict ISO mode 607 for fork-like functions to be properly instrumented. 608 6092018-03-07 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 610 611 Backport from mainline 612 2018-02-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 613 614 * config/s390/s390-opts.h (enum indirect_branch): Define. 615 * config/s390/s390-protos.h (s390_return_addr_from_memory) 616 (s390_indirect_branch_via_thunk) 617 (s390_indirect_branch_via_inline_thunk): Add function prototypes. 618 (enum s390_indirect_branch_type): Define. 619 * config/s390/s390.c (struct s390_frame_layout, struct 620 machine_function): Remove. 621 (indirect_branch_prez10thunk_mask, indirect_branch_z10thunk_mask) 622 (indirect_branch_table_label_no, indirect_branch_table_name): 623 Define variables. 624 (INDIRECT_BRANCH_NUM_OPTIONS): Define macro. 625 (enum s390_indirect_branch_option): Define. 626 (s390_return_addr_from_memory): New function. 627 (s390_handle_string_attribute): New function. 628 (s390_attribute_table): Add new attribute handler. 629 (s390_execute_label): Handle UNSPEC_EXECUTE_JUMP patterns. 630 (s390_indirect_branch_via_thunk): New function. 631 (s390_indirect_branch_via_inline_thunk): New function. 632 (s390_function_ok_for_sibcall): When jumping via thunk disallow 633 sibling call optimization for non z10 compiles. 634 (s390_emit_call): Force indirect branch target to be a single 635 register. Add r1 clobber for non-z10 compiles. 636 (s390_emit_epilogue): Emit return jump via return_use expander. 637 (s390_reorg): Handle JUMP_INSNs as execute targets. 638 (s390_option_override_internal): Perform validity checks for the 639 new command line options. 640 (s390_indirect_branch_attrvalue): New function. 641 (s390_indirect_branch_settings): New function. 642 (s390_set_current_function): Invoke s390_indirect_branch_settings. 643 (s390_output_indirect_thunk_function): New function. 644 (s390_code_end): Implement target hook. 645 (s390_case_values_threshold): Implement target hook. 646 (TARGET_ASM_CODE_END, TARGET_CASE_VALUES_THRESHOLD): Define target 647 macros. 648 * config/s390/s390.h (struct s390_frame_layout) 649 (struct machine_function): Move here from s390.c. 650 (TARGET_INDIRECT_BRANCH_NOBP_RET) 651 (TARGET_INDIRECT_BRANCH_NOBP_JUMP) 652 (TARGET_INDIRECT_BRANCH_NOBP_JUMP_THUNK) 653 (TARGET_INDIRECT_BRANCH_NOBP_JUMP_INLINE_THUNK) 654 (TARGET_INDIRECT_BRANCH_NOBP_CALL) 655 (TARGET_DEFAULT_INDIRECT_BRANCH_TABLE) 656 (TARGET_INDIRECT_BRANCH_THUNK_NAME_EXRL) 657 (TARGET_INDIRECT_BRANCH_THUNK_NAME_EX) 658 (TARGET_INDIRECT_BRANCH_TABLE): Define macros. 659 * config/s390/s390.md (UNSPEC_EXECUTE_JUMP) 660 (INDIRECT_BRANCH_THUNK_REGNUM): Define constants. 661 (mnemonic attribute): Add values which aren't recognized 662 automatically. 663 ("*cjump_long", "*icjump_long", "*basr", "*basr_r"): Disable 664 pattern for branch conversion. Fix mnemonic attribute. 665 ("*c<code>", "*sibcall_br", "*sibcall_value_br", "*return"): Emit 666 indirect branch via thunk if requested. 667 ("indirect_jump", "<code>"): Expand patterns for branch conversion. 668 ("*indirect_jump"): Disable for branch conversion using out of 669 line thunks. 670 ("indirect_jump_via_thunk<mode>_z10") 671 ("indirect_jump_via_thunk<mode>") 672 6732018-03-07 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 674 675 Backport from mainline 676 2018-02-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 677 678 PR target/PR84295 679 * config/s390/s390.c (s390_set_current_function): Invoke 680 s390_indirect_branch_settings also if fndecl didn't change. 681 6822018-03-07 Martin Liska <mliska@suse.cz> 683 684 Backport from mainline 685 2018-02-20 Martin Liska <mliska@suse.cz> 686 687 PR c/84310 688 PR target/79747 689 * final.c (shorten_branches): Build align_tab array with one 690 more element. 691 * opts.c (finish_options): Add alignment option limit check. 692 (MAX_CODE_ALIGN): Likewise. 693 (MAX_CODE_ALIGN_VALUE): Likewise. 694 * doc/invoke.texi: Document maximum allowed option value for 695 all -falign-* options. 696 6972018-03-07 Martin Liska <mliska@suse.cz> 698 699 Backport from mainline 700 2018-02-19 Martin Liska <mliska@suse.cz> 701 702 PR other/80589 703 * doc/invoke.texi: Fix typo. 704 * params.def (PARAM_MAX_LOOP_HEADER_INSNS): Likewise. 705 7062018-03-07 Martin Liska <mliska@suse.cz> 707 708 Backport from mainline 709 2018-02-05 Martin Liska <mliska@suse.cz> 710 711 PR gcov-profile/84137 712 * doc/gcov.texi: Fix typo in documentation. 713 7142018-03-07 Martin Liska <mliska@suse.cz> 715 716 Backport from mainline 717 2018-02-05 Martin Liska <mliska@suse.cz> 718 719 PR gcov-profile/83879 720 * doc/gcov.texi: Document necessity of --dynamic-list-data when 721 using dlopen functionality. 722 7232018-03-07 Martin Liska <mliska@suse.cz> 724 725 Backport from mainline 726 2017-12-19 Martin Liska <mliska@suse.cz> 727 728 PR rtl-optimization/82675 729 * loop-unroll.c (unroll_loop_constant_iterations): Allocate one 730 more element in sbitmap. 731 7322018-03-07 Martin Liska <mliska@suse.cz> 733 734 Backport from mainline 735 2018-03-05 Martin Liska <mliska@suse.cz> 736 737 * ipa-utils.c (ipa_merge_profiles): Do not merge alias or 738 a function without profile. 739 7402018-03-07 Martin Liska <mliska@suse.cz> 741 742 Backport from mainline 743 2018-02-21 Jan Hubicka <hubicka@ucw.cz> 744 745 PR c/84229 746 * ipa-cp.c (determine_versionability): Do not version functions caling 747 va_arg_pack. 748 7492018-03-07 Martin Liska <mliska@suse.cz> 750 751 Backport from mainline 752 2018-02-08 Jan Hubicka <hubicka@ucw.cz> 753 754 PR ipa/81360 755 * cgraph.h (symtab_node::output_to_lto_symbol_table_p): Declare 756 * symtab.c: Include builtins.h 757 (symtab_node::output_to_lto_symbol_table_p): Move here 758 from lto-streamer-out.c:output_symbol_p. 759 * lto-streamer-out.c (write_symbol): Turn early exit to assert. 760 (output_symbol_p): Move all logic to symtab.c 761 (produce_symtab): Update. 762 7632017-03-02 Thomas Schwinge <thomas@codesourcery.com> 764 765 Backport from trunk r256891: 766 2018-01-19 Cesar Philippidis <cesar@codesourcery.com> 767 768 PR target/83790 769 * config/nvptx/nvptx.c (output_init_frag): Don't use generic address 770 spaces for function labels. 771 7722018-02-21 Sudakshina Das <sudi.das@arm.com> 773 774 Backport from trunk 775 2018-01-10 Sudakshina Das <sudi.das@arm.com> 776 777 PR target/82096 778 * expmed.c (emit_store_flag_force): Swap if const op0 779 and change VOIDmode to mode of op0. 780 7812018-02-15 Michael Meissner <meissner@linux.vnet.ibm.com> 782 783 Back port from trunk 784 2018-02-06 Michael Meissner <meissner@linux.vnet.ibm.com> 785 786 PR target/84154 787 * config/rs6000/rs6000.md (su code attribute): Use "u" for 788 unsigned_fix, not "s". 789 7902018-02-15 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> 791 792 Back port from mainline 793 2018-01-30 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> 794 795 PR target/83758 796 * config/rs6000/rs6000.c (rs6000_internal_arg_pointer): Only return 797 a reg rtx. 798 7992018-02-10 John David Anglin <danglin@gcc.gnu.org> 800 801 * config/pa/pa.c (hppa_profile_hook): Mark SYMBOL_REF for _mcount as 802 function label. 803 804 Backport from mainline 805 2018-02-01 Aldy Hernandez <aldyh@redhat.com> 806 807 PR target/84089 808 * config/pa/predicates.md (base14_operand): Handle VOIDmode. 809 8102018-02-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 811 812 Backport from mainline 813 2018-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 814 815 PR bootstrap/84017 816 * configure.ac (gcc_cv_as_shf_merge): Disable on Solaris 10/x86. 817 * configure: Regenerate. 818 8192018-02-01 Renlin Li <renlin.li@arm.com> 820 821 Backport from mainline 822 2018-02-01 Renlin Li <renlin.li@arm.com> 823 824 PR target/83370 825 * config/aarch64/aarch64.c (aarch64_class_max_nregs): Handle 826 TAILCALL_ADDR_REGS. 827 (aarch64_register_move_cost): Likewise. 828 * config/aarch64/aarch64.h (reg_class): Rename CALLER_SAVE_REGS to 829 TAILCALL_ADDR_REGS. 830 (REG_CLASS_NAMES): Likewise. 831 (REG_CLASS_CONTENTS): Rename CALLER_SAVE_REGS to 832 TAILCALL_ADDR_REGS. Remove IP registers. 833 * config/aarch64/aarch64.md (Ucs): Update register constraint. 834 8352018-02-01 Bin Cheng <bin.cheng@arm.com> 836 837 Backport from mainline 838 2017-11-15 Bin Cheng <bin.cheng@arm.com> 839 840 PR tree-optimization/82726 841 PR tree-optimization/70754 842 * tree-predcom.c (order_drefs_by_pos): New function. 843 (combine_chains): Move code setting has_max_use_after to... 844 (try_combine_chains): ...here. New parameter. Sort combined chains 845 according to position information. 846 (tree_predictive_commoning_loop): Update call to above function. 847 (update_pos_for_combined_chains, pcom_stmt_dominates_stmt_p): New. 848 8492018-01-31 Richard Biener <rguenther@suse.de> 850 Kelvin Nilsen <kelvin@gcc.gnu.org> 851 852 Backport from mainline 853 2018-01-29 Richard Biener <rguenther@suse.de> 854 Kelvin Nilsen <kelvin@gcc.gnu.org> 855 856 PR bootstrap/80867 857 * tree-vect-stmts.c (vectorizable_call): Don't call 858 targetm.vectorize_builtin_md_vectorized_function if callee is 859 NULL. 860 8612018-01-29 Alan Modra <amodra@gmail.com> 862 863 Backport from mainline 864 2018-01-26 Alan Modra <amodra@gmail.com> 865 PR target/84033 866 * config/rs6000/rs6000.c (rtx_is_swappable_p): Exclude 867 UNSPEC_VBPERMQ. 868 8692018-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 870 871 Backport from mainline 872 2018-01-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 873 874 * config/rs6000/rs6000-p8swap.c (swap_feeds_both_load_and_store): 875 New function. 876 (rs6000_analyze_swaps): Mark a web unoptimizable if it contains a 877 swap associated with both a load and a store. 878 8792018-01-23 Peter Bergner <bergner@vnet.ibm.com> 880 881 Back port from mainline 882 2018-01-10 Peter Bergner <bergner@vnet.ibm.com> 883 884 PR target/83399 885 * config/rs6000/rs6000.c (print_operand) <'y'>: Use 886 VECTOR_MEM_ALTIVEC_OR_VSX_P. 887 * config/rs6000/vsx.md (*vsx_le_perm_load_<mode> for VSX_D): Use 888 indexed_or_indirect_operand predicate. 889 (*vsx_le_perm_load_<mode> for VSX_W): Likewise. 890 (*vsx_le_perm_load_v8hi): Likewise. 891 (*vsx_le_perm_load_v16qi): Likewise. 892 (*vsx_le_perm_store_<mode> for VSX_D): Likewise. 893 (*vsx_le_perm_store_<mode> for VSX_W): Likewise. 894 (*vsx_le_perm_store_v8hi): Likewise. 895 (*vsx_le_perm_store_v16qi): Likewise. 896 (eight unnamed splitters): Likewise. 897 8982018-01-23 Michael Meissner <meissner@linux.vnet.ibm.com> 899 900 Back port from trunk 901 2018-01-22 Michael Meissner <meissner@linux.vnet.ibm.com> 902 903 PR target/83862 904 * config/rs6000/rs6000-protos.h (rs6000_split_signbit): Delete, 905 no longer used. 906 * config/rs6000/rs6000.c (rs6000_split_signbit): Likewise. 907 * config/rs6000/rs6000.md (signbit<mode>2): Change code for IEEE 908 128-bit to produce an UNSPEC move to get the double word with the 909 signbit and then a shift directly to do signbit. 910 (signbit<mode>2_dm): Replace old IEEE 128-bit signbit 911 implementation with a new version that just does either a direct 912 move or a regular move. Move memory interface to separate insns. 913 Move insns so they are next to the expander. 914 (signbit<mode>2_dm_mem_be): New combiner insns to combine load 915 with signbit move. Split big and little endian case. 916 (signbit<mode>2_dm_mem_le): Likewise. 917 (signbit<mode>2_dm_<su>ext): Delete, no longer used. 918 (signbit<mode>2_dm2): Likewise. 919 9202018-01-21 Oleg Endo <olegendo@gcc.gnu.org> 921 922 PR target/81485 923 * config/sh/sh-protos.h (sh_find_set_of_reg): Remove assert. 924 9252018-01-21 Oleg Endo <olegendo@gcc.gnu.org> 926 927 Backport from mainline 928 2018-01-21 Oleg Endo <olegendo@gcc.gnu.org> 929 930 PR target/80870 931 * config/sh/sh_optimize_sett_clrt.cc: 932 Use INCLUDE_ALGORITHM and INCLUDE_VECTOR instead of direct includes. 933 9342018-01-16 Segher Boessenkool <segher@kernel.crashing.org> 935 936 Backport from mainline 937 2017-12-18 Segher Boessenkool <segher@kernel.crashing.org> 938 939 PR rtl-optimization/83424 940 * rtlanal.c (dead_or_set_regno_p): Handle CLOBBER just like SET. 941 9422018-01-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 943 944 Backport from mainline 945 2018-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 946 947 PR target/83677 948 * config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal): 949 Reverse order of second and third operands in first alternative. 950 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Reverse order 951 of first and second elements in UNSPEC_VPERMR vector. 952 (altivec_expand_vec_perm_le): Likewise. 953 9542018-01-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 955 956 Backport from mainline 957 2017-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 958 959 PR target/82975 960 * config/arm/arm.h (TEST_REGNO): Check reg_renumber is set before 961 accessing it. Adjust comment. 962 9632017-12-17 John David Anglin <danglin@gcc.gnu.org> 964 965 Backport from mainline 966 2017-12-03 John David Anglin <danglin@gcc.gnu.org> 967 968 * config/pa/pa.c (pa_legitimate_address_p): For scaled indexing, 969 require base operand is a REG_POINTER prior to reload on targets 970 with non-equivalent space registers. 971 9722017-12-15 Eric Botcazou <ebotcazou@adacore.com> 973 974 PR target/66488 975 * ggc-page.c (HOST_BITS_PER_PTR): Do not define here... 976 * hwint.h (HOST_BITS_PER_PTR): ...but here instead. 977 9782017-12-14 Peter Bergner <bergner@vnet.ibm.com> 979 980 Backport from mainline 981 2017-12-13 Peter Bergner <bergner@vnet.ibm.com> 982 983 * config/rs6000/ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define. 984 * config/rs6000/rs6000.c (cpu_supports_info): Use it. 985 9862017-12-14 Peter Bergner <bergner@vnet.ibm.com> 987 988 Backport from mainline 989 2017-10-02 Peter Bergner <bergner@vnet.ibm.com> 990 991 PR target/80210 992 * config/rs6000/rs6000.c (rs6000_option_override_internal): Rewrite 993 function to not use the have_cpu variable. Do not set cpu_index, 994 rs6000_cpu_index or rs6000_tune_index if we end up using TARGET_DEFAULT 995 or the default cpu. 996 (rs6000_valid_attribute_p): Remove duplicate initializations of 997 old_optimize and func_optimize. 998 (rs6000_pragma_target_parse): Call rs6000_activate_target_options (). 999 (rs6000_activate_target_options): Make global. 1000 * config/rs6000/rs6000-protos.h (rs6000_activate_target_options): Add 1001 prototype. 1002 10032017-12-11 Thomas Schwinge <thomas@codesourcery.com> 1004 1005 PR c++/83301 1006 1007 Backport trunk r243377: 1008 2016-12-07 Jakub Jelinek <jakub@redhat.com> 1009 1010 PR c++/78692 1011 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Set lhs 1012 var to lhs of new_stmt right before noreturn handling rather than to 1013 lhs of e->call_stmt early. 1014 10152017-12-04 Sebastian Peryt <sebastian.peryt@intel.com> 1016 H.J. Lu <hongjiu.lu@intel.com> 1017 1018 Bakcported from trunk 1019 PR target/82941 1020 PR target/82942 1021 PR target/82990 1022 * config/i386/i386.c (pass_insert_vzeroupper): Remove 1023 TARGET_AVX512F check from gate condition. 1024 (ix86_check_avx256_register): Changed to ... 1025 (ix86_check_avx_upper_register): ... this. Add extra check for 1026 VALID_AVX512F_REG_OR_XI_MODE. 1027 (ix86_avx_u128_mode_needed): Changed 1028 ix86_check_avx256_register to ix86_check_avx_upper_register. 1029 (ix86_check_avx256_stores): Changed to ... 1030 (ix86_check_avx_upper_stores): ... this. Changed 1031 ix86_check_avx256_register to ix86_check_avx_upper_register. 1032 (ix86_avx_u128_mode_after): Changed 1033 avx_reg256_found to avx_upper_reg_found. Changed 1034 ix86_check_avx256_stores to ix86_check_avx_upper_stores. 1035 (ix86_avx_u128_mode_entry): Changed 1036 ix86_check_avx256_register to ix86_check_avx_upper_register. 1037 (ix86_avx_u128_mode_exit): Ditto. 1038 (ix86_option_override_internal): Set MASK_VZEROUPPER if 1039 neither -mzeroupper nor -mno-zeroupper is used and 1040 TARGET_EMIT_VZEROUPPER is set. 1041 * config/i386/i386.h: (host_detect_local_cpu): New define. 1042 (TARGET_EMIT_VZEROUPPER): New. 1043 * config/i386/x86-tune.def: Add X86_TUNE_EMIT_VZEROUPPER 1044 10452017-12-01 Segher Boessenkool <segher@kernel.crashing.org> 1046 1047 Backport from mainline 1048 2017-11-28 Segher Boessenkool <segher@kernel.crashing.org> 1049 1050 PR 81288/target 1051 * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle 1052 TARGET_ISEL && !TARGET_MFCRF differently. Simplify code. 1053 10542017-11-29 Daniel Cederman <cederman@gaisler.com> 1055 1056 Backport from mainline 1057 * config/sparc/sparc.c (sparc_do_work_around_errata): Treat the 1058 movsi_pic_gotdata_op instruction as a load for the UT699 errata 1059 workaround. 1060 10612017-11-24 Segher Boessenkool <segher@kernel.crashing.org> 1062 1063 Backport from mainline 1064 2017-11-17 Segher Boessenkool <segher@kernel.crashing.org> 1065 1066 PR rtl-optimization/82621 1067 * combine.c (try_combine): Do not split PARALLELs of two SETs if the 1068 dest of one of those SETs is unused. 1069 10702017-11-21 Pat Haugen <pthaugen@us.ibm.com> 1071 1072 Backport from mainline 1073 2017-11-21 Pat Haugen <pthaugen@us.ibm.com> 1074 1075 * config/rs6000/ppc-asm.h (f50, vs50): Fix values. 1076 10772017-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1078 1079 Backport from mainline 1080 2017-11-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1081 1082 * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since 1083 Solaris 11. Update comment. 1084 * configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12 1085 renaming. 1086 * config/sol2.h (STARTFILE_SPEC): Likewise. 1087 * configure: Regenerate. 1088 10892017-11-16 Uros Bizjak <ubizjak@gmail.com> 1090 1091 * config/i386/i386.c (x86_print_call_or_nop): Emit 5 byte nop 1092 explicitly as a stream of bytes. 1093 10942017-11-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1095 1096 Backport from mainline 1097 2017-10-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1098 1099 * configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler 1100 supports -xbrace_comment option. 1101 * configure: Regenerate. 1102 * config.in: Regenerate. 1103 * config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define. 1104 (ASM_CPU_SPEC): Use it. 1105 11062017-11-09 Andre McCurdy <armccurdy@gmail.com> 1107 1108 * config/arm/arm-cores.def: Fix missing FL_LPAE flag for armv7ve 1109 compatible cores. 1110 11112017-11-09 Segher Boessenkool <segher@kernel.crashing.org> 1112 1113 Backport from mainline 1114 2017-11-01 Segher Boessenkool <segher@kernel.crashing.org> 1115 1116 PR rtl-optimization/64682 1117 PR rtl-optimization/69567 1118 PR rtl-optimization/69737 1119 PR rtl-optimization/82683 1120 * combine.c (distribute_notes) <REG_DEAD>: If the new I2 sets the same 1121 register mentioned in the note, drop the note, unless it came from I3, 1122 in which case it should go to I3 again. 1123 11242017-10-31 Uros Bizjak <ubizjak@gmail.com> 1125 1126 PR target/82772 1127 * config/alpha/sync.md (fetchop_constr) <and>: Change to "rINM". 1128 11292017-10-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1130 1131 Backport from mainline 1132 2017-03-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1133 1134 * config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate 1135 instead of vec_select for V1TImode. 1136 * conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no 1137 longer needed. 1138 (VSX_LE_128): Add V1TI to this mode iterator. 1139 (*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator. 1140 (*vsx_le_perm_store_<mode>): Likewise. 1141 (pre-reload splitter for VSX stores): Likewise. 1142 (post-reload splitter for VSX stores): Likewise. 1143 (*vsx_xxpermdi2_le_<mode>): Likewise. 1144 (*vsx_lxvd2x2_le_<mode>): Likewise. 1145 (*vsx_stxvd2x2_le_<mode>): Likewise. 1146 11472017-10-19 Richard Earnshaw <rearnsha@arm.com> 1148 1149 PR target/82445 1150 * config/arm/arm.c (align_ok_ldrd_strd): New function. 1151 (mem_ok_for_ldrd_strd): New parameter align. Extract the alignment of 1152 the mem into it. 1153 (gen_operands_ldrd_strd): Validate the alignment of the accesses. 1154 11552017-10-18 Segher Boessenkool <segher@kernel.crashing.org> 1156 1157 PR rtl-optimization/82602 1158 * ira.c (rtx_moveable_p): Return false for volatile asm. 1159 11602017-10-17 Jakub Jelinek <jakub@redhat.com> 1161 1162 PR tree-optimization/82549 1163 * fold-const.c (optimize_bit_field_compare, fold_truth_andor_1): 1164 Formatting fixes. Instead of calling make_bit_field_ref with negative 1165 bitpos return 0. 1166 11672017-10-13 Jakub Jelinek <jakub@redhat.com> 1168 1169 PR target/82274 1170 * internal-fn.c (expand_mul_overflow): If both operands have 1171 the same highpart of -1 or 0 and the topmost bit of lowpart 1172 is different, overflow is if res <= 0 rather than res < 0. 1173 11742017-10-10 Andreas Tobler <andreast@gcc.gnu.org> 1175 1176 * config.gcc: (armv7*-*-freebsd*): New target. 1177 Define TARGET_FREEBSD_ARMv7 1178 * config/arm/freebsd.h: Use TARGET_FREEBSD_ARMv7 to define the 1179 default cpu for armv7*-*-freebsd*. 1180 11812017-10-02 Jakub Jelinek <jakub@redhat.com> 1182 1183 Backported from mainline 1184 2017-09-30 Jakub Jelinek <jakub@redhat.com> 1185 1186 * config/i386/i386.c (ix86_split_idivmod): Use mode instead of 1187 always SImode for DIV and MOD in REG_EQUAL notes. 1188 11892017-10-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1190 1191 Backport from mainline 1192 2017-09-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1193 1194 PR tree-optimization/82337 1195 * gimple-ssa-strength-reduction.c (find_phi_def): Don't record a 1196 phi definition if the PHI result appears in an abnormal PHI. 1197 (find_basis_for_base_expr): Don't record a basis if the LHS of the 1198 basis appears in an abnormal PHI. 1199 12002017-09-21 Alan Modra <amodra@gmail.com> 1201 1202 PR target/81996 1203 * gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use 1204 stack_pointer_rtx for count 0. Update comments. Break up 1205 large rtl expression. 1206 12072017-09-21 Wilco Dijkstra <wdijkstr@arm.com> 1208 1209 PR target/71951 1210 * config/aarch64/aarch64.h (LIBGCC2_UNWIND_ATTRIBUTE): Define. 1211 12122017-09-19 Uros Bizjak <ubizjak@gmail.com> 1213 1214 * config/i386/i386.c (fold_builtin_cpu): Add M_AMDFAM17H 1215 to processor_model and "amdfam17h" to arch_names_table. 1216 * doc/extend.texi (__builtin_cpu_is): Document amdfam17h CPU name. 1217 12182017-09-19 Martin Liska <mliska@suse.cz> 1219 1220 PR c++/81355 1221 * config/i386/i386.c (sorted_attr_string): Skip empty strings. 1222 12232017-09-19 Martin Liska <mliska@suse.cz> 1224 1225 Revert backport: 1226 2017-08-10 Martin Liska <mliska@suse.cz> 1227 1228 PR c++/81355 1229 * c-attribs.c (handle_target_attribute): 1230 Report warning for an empty string argument of target attribute. 1231 12322017-09-18 Richard Biener <rguenther@suse.de> 1233 1234 Backport from mainline 1235 2017-08-28 Richard Biener <rguenther@suse.de> 1236 1237 PR tree-optimization/81977 1238 * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through 1239 memcpy. 1240 1241 2017-09-04 Richard Biener <rguenther@suse.de> 1242 1243 PR tree-optimization/82084 1244 * fold-const.h (can_native_encode_string_p): Declare. 1245 * fold-const.c (can_native_encode_string_p): Factor out from ... 1246 (native_encode_string): ... here. 1247 * tree-vect-stmts.c (vectorizable_store): Call it to avoid 1248 vectorizing stores from constants we later cannot handle. 1249 1250 2017-07-25 Richard Biener <rguenther@suse.de> 1251 1252 PR middle-end/81505 1253 * fold-const.c (fold_negate_const): TREE_OVERFLOW should be 1254 sticky. 1255 12562017-09-15 Jakub Jelinek <jakub@redhat.com> 1257 1258 Backported from mainline 1259 2017-09-05 Jakub Jelinek <jakub@redhat.com> 1260 1261 PR middle-end/81768 1262 * omp-low.c (lower_omp_for): Recompute tree invariant if 1263 gimple_omp_for_initial/final is ADDR_EXPR. 1264 1265 PR middle-end/81768 1266 * omp-low.c (expand_omp_simd): Force second operands of COND_EXPR 1267 into gimple val before gimplification fo the COND_EXPR. 1268 1269 2017-09-04 Jakub Jelinek <jakub@redhat.com> 1270 1271 * lra-remat.c (reg_overlap_for_remat_p): Fix a pasto. 1272 1273 2017-08-09 Jakub Jelinek <jakub@redhat.com> 1274 1275 PR c/81687 1276 * omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL 1277 LABEL_DECLs. 1278 * tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL 1279 or DECL_NONLOCAL labels. 1280 (move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL 1281 or DECL_NONLOCAL labels here. 1282 1283 2017-08-08 Richard Biener <rguenther@suse.de> 1284 1285 PR middle-end/81766 1286 * function.c (thread_prologue_and_epilogue_insns): Restore 1287 behavior of always calling find_many_sub_basic_blocks on 1288 the inserted prologue. 1289 1290 2017-08-03 Jakub Jelinek <jakub@redhat.com> 1291 1292 PR target/81621 1293 * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish 1294 after setting changeable df flags. 1295 1296 PR middle-end/81052 1297 * omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp. 1298 (pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd. 1299 1300 2017-08-02 Jakub Jelinek <jakub@redhat.com> 1301 1302 PR middle-end/79499 1303 * function.c (thread_prologue_and_epilogue_insns): Determine blocks 1304 for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN 1305 of first NONDEBUG_INSN_P in each of the split_prologue_seq and 1306 prologue_seq sequences - if any. 1307 1308 2017-06-30 Jakub Jelinek <jakub@redhat.com> 1309 1310 PR target/81225 1311 * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): For 1312 V8FI, V16FI and VI8F_256 iterators, use <store_mask_predicate> instead 1313 of nonimmediate_operand and <store_mask_constraint> instead of m for 1314 the input operand. For V8FI iterator, always split if input is a MEM. 1315 For V16FI and V8SF_256 iterators, don't test if both operands are MEM 1316 if <mask_applied>. For VI4F_256 iterator, use <store_mask_predicate> 1317 instead of register_operand and <store_mask_constraint> instead of v for 1318 the input operand. Make sure both operands aren't MEMs for if not 1319 <mask_applied>. 1320 13212017-09-15 Martin Liska <mliska@suse.cz> 1322 1323 Backport from mainline 1324 2017-08-11 Martin Liska <mliska@suse.cz> 1325 1326 PR tree-opt/79987 1327 * tree-chkp.c (chkp_get_bounds_for_decl_addr): Do not instrument 1328 variables of void type. 1329 13302017-09-15 Martin Liska <mliska@suse.cz> 1331 1332 Backport from mainline 1333 2017-06-28 Martin Liska <mliska@suse.cz> 1334 1335 PR sanitizer/81224 1336 * asan.c (instrument_derefs): Bail out inner references 1337 that are hard register variables. 1338 13392017-09-15 Martin Liska <mliska@suse.cz> 1340 1341 Backport from mainline 1342 2017-08-30 Martin Liska <mliska@suse.cz> 1343 1344 PR inline-asm/82001 1345 * ipa-icf-gimple.c (func_checker::compare_tree_list_operand): 1346 Rename to ... 1347 (func_checker::compare_asm_inputs_outputs): ... this function. 1348 (func_checker::compare_gimple_asm): Use the function to compare 1349 also ASM constrains. 1350 * ipa-icf-gimple.h: Rename the function. 1351 13522017-09-15 Martin Liska <mliska@suse.cz> 1353 1354 Backport from mainline 1355 2017-08-29 Martin Liska <mliska@suse.cz> 1356 1357 PR other/39851 1358 * gcc.c (driver_handle_option): Add new argument. 1359 * opts-common.c (handle_option): Pass 1360 target_option_override_hook. 1361 * opts-global.c (lang_handle_option): Add new option. 1362 (set_default_handlers): Add new argument. 1363 (decode_options): Likewise. 1364 * opts.c (target_handle_option): Likewise. 1365 (common_handle_option): Call target_option_override_hook. 1366 * opts.h (struct cl_option_handler_func): Add hook for 1367 target option override. 1368 (struct cl_option_handlers): Likewise. 1369 (set_default_handlers): Add new argument. 1370 (decode_options): Likewise. 1371 (common_handle_option): Likewise. 1372 (target_handle_option): Likewise. 1373 * toplev.c (toplev::main): Pass targetm.target_option.override 1374 hook. 1375 13762017-09-15 Martin Liska <mliska@suse.cz> 1377 1378 Backport from mainline 1379 2017-08-10 Martin Liska <mliska@suse.cz> 1380 1381 PR c++/81355 1382 * c-attribs.c (handle_target_attribute): 1383 Report warning for an empty string argument of target attribute. 1384 13852017-09-15 Martin Liska <mliska@suse.cz> 1386 1387 Backport from mainline 1388 2017-08-08 Martin Liska <mliska@suse.cz> 1389 1390 PR tree-opt/81696 1391 * ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider 1392 LABEL_DECLs that can be from a different function. 1393 13942017-09-15 Martin Liska <mliska@suse.cz> 1395 1396 Backport from mainline 1397 2017-06-28 Martin Liska <mliska@suse.cz> 1398 1399 PR ipa/81128 1400 * ipa-visibility.c (non_local_p): Handle visibility. 1401 14022017-09-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1403 1404 Backport from mainline 1405 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1406 1407 PR target/81833 1408 * config/rs6000/altivec.md (altivec_vsum2sws): Convert from a 1409 define_insn to a define_expand. 1410 (altivec_vsum2sws_direct): New define_insn. 1411 (altivec_vsumsws): Convert from a define_insn to a define_expand. 1412 14132017-09-11 Max Filippov <jcmvbkbc@gmail.com> 1414 1415 Backport from mainline 1416 PR target/82181 1417 * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both 1418 words of DImode object are reachable by xtensa_uimm8x4 access. 1419 14202017-09-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1421 1422 Backport from mainline: 1423 2017-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1424 1425 PR tree-optimization/81987 1426 * gimple-ssa-strength-reduction.c (insert_initializers): Don't 1427 insert an initializer in a location not dominated by the stride 1428 definition. 1429 14302017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1431 1432 Backport from mainline 1433 2017-08-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1434 Jakub Jelinek <jakub@redhat.com> 1435 Richard Biener <rguenther@suse.de> 1436 1437 PR tree-optimization/81503 1438 * gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure 1439 folded constant fits in the target type; reorder tests for clarity. 1440 14412017-08-30 Michael Meissner <meissner@linux.vnet.ibm.com> 1442 1443 Back port from trunk 1444 2017-08-07 Michael Meissner <meissner@linux.vnet.ibm.com> 1445 1446 PR target/81593 1447 * config/rs6000/vsx.md (vsx_concat_<mode>_1): New combiner insns 1448 to recognize inserting into a vector from a double word element 1449 that was extracted from another vector, and eliminate extra 1450 XXPERMDI instructions. 1451 (vsx_concat_<mode>_2): Likewise. 1452 (vsx_concat_<mode>_3): Likewise. 1453 (vsx_set_<mode>, VSX_D): Rewrite vector set in terms of vector 1454 concat to allow optimizing inserts from previous extracts. 1455 14562017-08-29 Alan Modra <amodra@gmail.com> 1457 1458 Apply from mainline 1459 2017-08-12 Alan Modra <amodra@gmail.com> 1460 PR target/81170 1461 PR target/81295 1462 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to 1463 match gnu-user.h startfile. 1464 (ENDFILE_LINUX_SPEC): Similarly. 1465 1466 2017-08-08 Alan Modra <amodra@gmail.com> 1467 H.J. Lu <hongjiu.lu@intel.com> 1468 PR target/81170 1469 PR target/81295 1470 PR driver/81523 1471 * gcc.c (NO_PIE_SPEC): Delete. 1472 (PIE_SPEC): Define as !no-pie/pie. Move static|shared|r 1473 exclusion.. 1474 (LINK_PIE_SPEC): ..to here. 1475 (LINK_COMMAND_SPEC): Support -no-pie. 1476 * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct 1477 chain of crtbegin*.o selection, update for PIE_SPEC changes and 1478 format. 1479 (GNU_USER_TARGET_ENDFILE_SPEC): Similarly. 1480 * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly. 1481 (ENDFILE_CRTEND_SPEC): Similarly. 1482 14832017-08-24 Yvan Roux <yvan.roux@linaro.org> 1484 1485 Backport from mainline 1486 2017-04-17 Bernd Edlinger <bernd.edlinger@hotmail.de> 1487 1488 PR c++/80287 1489 * class.c (fixup_may_alias): Fix all type variants. 1490 14912017-08-22 Peter Bergner <bergner@vnet.ibm.com> 1492 1493 Backport from mainline 1494 2017-08-17 Peter Bergner <bergner@vnet.ibm.com> 1495 1496 PR target/80210 1497 * config/rs6000/rs6000.c (rs6000_activate_target_options): New function. 1498 (rs6000_set_current_function): Rewrite function to use it. 1499 15002017-08-22 Georg-Johann Lay <avr@gjlay.de> 1501 1502 Backport from 2017-08-22 trunk r251256. 1503 1504 PR target/81910 1505 * config/avr/avr.c (avr_handle_addr_attribute): Early return if 1506 not VAR_P. Filter attribute warnings with OPT_Wattributes. 1507 (avr_attribute_table) <io, io_low, address>: Initialize 1508 .decl_required with true. 1509 15102017-08-21 Georg-Johann Lay <avr@gjlay.de> 1511 1512 PR target/79883 1513 * config/avr/avr.c (avr_set_current_function): Typo in diagnostic. 1514 15152017-08-19 Uros Bizjak <ubizjak@gmail.com> 1516 1517 PR target/81894 1518 * doc/extend.texi (x86 Built-in Functions): Correct the name of 1519 __builtin_ia32_lzcnt_u16. 1520 15212017-08-17 Uros Bizjak <ubizjak@gmail.com> 1522 1523 Backport from mainline 1524 2017-08-17 Maxim Ostapenko <m.ostapenko@samsung.com> 1525 1526 PR target/81861 1527 * config/i386/i386.c (ix86_option_override_internal): Save target 1528 specific options after ix86_stack_protector_guard_reg was changed. 1529 15302017-08-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1531 1532 Backport from mainline 1533 2017-08-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1534 1535 PR tree-optimization/81354 1536 * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge): 1537 Insert on edges rather than explicitly creating landing pads. 1538 (analyze_candidates_and_replace): Commit edge inserts. 1539 15402017-08-01 Uros Bizjak <ubizjak@gmail.com> 1541 1542 PR target/81641 1543 * config/i386/i386.c (ix86_print_operand_address_as): For -masm=intel 1544 print "ds:" only for immediates in generic address space. 1545 15462017-07-31 Jakub Jelinek <jakub@redhat.com> 1547 1548 PR sanitizer/81604 1549 * ubsan.c (ubsan_type_descriptor): For UBSAN_PRINT_ARRAY don't 1550 change type to the element type, instead add eltype variable and 1551 use it where we are interested in the element type. 1552 15532017-07-28 Peter Bergner <bergner@vnet.ibm.com> 1554 1555 Backport from mainline 1556 2017-07-28 Peter Bergner <bergner@vnet.ibm.com> 1557 1558 * config/rs6000/ppc-auxv.h (PPC_FEATURE2_DARN): New define. 1559 (PPC_FEATURE2_SCV): Likewise. 1560 * config/rs6000/rs6000.c (cpu_supports_info): Use them. 1561 15622017-07-28 Bin Cheng <bin.cheng@arm.com> 1563 1564 Backport from mainline r250496 1565 2017-07-25 Bin Cheng <bin.cheng@arm.com> 1566 1567 PR target/81414 1568 * config/aarch64/cortex-a57-fma-steering.c (analyze): Skip fmul/fmac 1569 instructions if no du chain is found. 1570 15712017-07-27 Jakub Jelinek <jakub@redhat.com> 1572 1573 PR tree-optimization/81555 1574 PR tree-optimization/81556 1575 * tree-ssa-reassoc.c (rewrite_expr_tree): Add NEXT_CHANGED argument, 1576 if true, force CHANGED for the recursive invocation. 1577 (reassociate_bb): Remember original length of ops array, pass 1578 len != orig_len as NEXT_CHANGED in rewrite_expr_tree call. 1579 15802017-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1581 1582 Backport from mainline r235874 1583 2016-05-04 Alan Modra <amodra@gmail.com> 1584 1585 * config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op): 1586 Align .toc. 1587 15882017-07-26 Georg-Johann Lay <avr@gjlay.de> 1589 1590 Backport from 2016-06-15 trunk r237486. 1591 Backport from 2017-07-12 trunk r250156. 1592 1593 PR target/79883 1594 PR target/67353 1595 * config/avr/avr.c (avr_set_current_function): Warn misspelled ISR 1596 only if -Wmisspelled-isr is on. In diagnostic messages: Quote 1597 keywords and (parts of) identifiers. 1598 [WITH_AVRLIBC]: Warn functions named "ISR", "SIGNAL" or "INTERUPT". 1599 * doc/invoke.texi (AVR Options) <-Wmisspelled-isr>: Decument. 1600 16012017-07-26 Georg-Johann Lay <avr@gjlay.de> 1602 1603 Backport from 2017-07-05 trunk r249995. 1604 1605 PR target/81305 1606 * config/avr/avr.c (avr_out_movhi_mr_r_xmega) [CONSTANT_ADDRESS_P]: 1607 Don't depend on "optimize > 0". 1608 (out_movhi_r_mr, out_movqi_mr_r): Same. 1609 (out_movhi_mr_r, out_movqi_r_mr): Same. 1610 (avr_address_cost) [CONSTANT_ADDRESS_P]: Don't depend cost for 1611 io_address_operand on "optimize > 0". 1612 16132017-07-26 Georg-Johann Lay <avr@gjlay.de> 1614 1615 Backport from 2017-07-12 trunk r250151. 1616 1617 PR target/81407 1618 * config/avr/avr.c (avr_encode_section_info) 1619 [progmem && !TREE_READONLY]: Error if progmem object needs 1620 constructing. 1621 16222017-07-26 Georg-Johann Lay <avr@gjlay.de> 1623 1624 Backport from 2017-07-26 gcc-7-branch r250562. 1625 1626 PR 81487 1627 * hsa-brig.c (brig_init): Use xasprintf instead of asprintf. 1628 * tree-ssa-structalias.c (alias_get_name): Same. 1629 16302017-07-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1631 1632 Backport from mainline 1633 2016-07-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1634 1635 PR tree-optimization/81162 1636 * gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't 1637 replace a negate with an add. 1638 16392017-07-25 Georg-Johann Lay <avr@gjlay.de> 1640 1641 Backport from trunk r247719. 1642 1643 2017-05-06 Richard Sandiford <richard.sandiford@linaro.org> 1644 1645 PR rtl-optimization/75964 1646 * simplify-rtx.c (simplify_const_relational_operation): Remove 1647 invalid handling of comparisons of integer ABS. 1648 16492017-07-24 Uros Bizjak <ubizjak@gmail.com> 1650 1651 PR target/80569 1652 * config/i386/i386.c (ix86_option_override_internal): Disable 1653 BMI, BMI2 and TBM instructions for -m16. 1654 16552017-07-18 Uros Bizjak <ubizjak@gmail.com> 1656 1657 PR target/81471 1658 * config/i386/i386.md (rorx_immediate_operand): New mode attribute. 1659 (*bmi2_rorx<mode>3_1): Use rorx_immediate_operand as 1660 operand 2 predicate. 1661 (*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as 1662 operand 2 predicate. 1663 (ror,rol -> rorx splitters): Use const_int_operand as 1664 operand 2 predicate. 1665 16662017-07-17 Georg-Johann Lay <avr@gjlay.de> 1667 1668 Backport from 2017-07-17 trunk r250258. 1669 1670 PR 80929 1671 * config/avr/avr.c (avr_mul_highpart_cost): New static function. 1672 (avr_rtx_costs_1) [TRUNCATE]: Use it to compute mul_highpart cost. 1673 [LSHIFTRT, outer_code = TRUNCATE]: Same. 1674 16752017-07-14 Kelvin Nilsen <kelvin@gcc.gnu.org> 1676 1677 Backports from trunk 1678 1679 2017-03-23 Kelvin Nilsen <kelvin@gcc.gnu.org> 1680 * config/rs6000/rs6000.c (rs6000_option_override_internal): Change 1681 handling of certain combinations of target options, including the 1682 combinations -mpower8-vector vs. -mno-vsx, -mpower8-vector vs. 1683 -mno-power8-vector, and -mpower9_dform vs. -mno-power9-vector. 1684 1685 2017-03-27 Kelvin Nilsen <kelvin@gcc.gnu.org> 1686 PR target/80103 1687 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add 1688 special handling for target option conflicts between dform options 1689 (-mpower9-dform, -mpower9-dform-vector, -mpower9-dform-scalar) and 1690 -mno-direct-move. 1691 1692 2017-05-08 Kelvin Nilsen <kelvin@gcc.gnu.org> 1693 PR target/80101 1694 * config/rs6000/power6.md: Replace store_data_bypass_p calls with 1695 rs6000_store_data_bypass_p in seven define_bypass directives and 1696 in several comments. 1697 * config/rs6000/rs6000-protos.h: Add prototype for 1698 rs6000_store_data_bypass_p function. 1699 * config/rs6000/rs6000.c (rs6000_store_data_bypass_p): New 1700 function implements slightly different (rs6000-specific) semantics 1701 than store_data_bypass_p, returning false rather than aborting 1702 with assertion error when arguments do not satisfy the 1703 requirements of store data bypass. 1704 (rs6000_adjust_cost): Replace six calls of store_data_bypass_p with 1705 rs6000_store_data_bypass_p. 1706 17072017-07-14 Uros Bizjak <ubizjak@gmail.com> 1708 1709 Backport from mainline 1710 2017-07-10 Uros Bizjak <ubizjak@gmail.com> 1711 1712 PR target/81375 1713 * config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH. 1714 (rcpps): Ditto. 1715 (*rsqrtsf2_sse): Ditto. 1716 (rsqrtsf2): Ditto. 1717 (div<mode>3): Macroize insn from divdf3 and divsf3 1718 using MODEF mode iterator. 1719 1720 Backport from mainline 1721 2017-07-04 Uros Bizjak <ubizjak@gmail.com> 1722 1723 PR target/81300 1724 * config/i386/i386.md (setcc + movzbl/and to xor + setcc peepholes): 1725 Require dead FLAGS_REG at the beginning of a peephole. 1726 17272017-07-13 Tom de Vries <tom@codesourcery.com> 1728 1729 backport from mainline: 1730 PR tree-optimization/81192 1731 2017-07-03 Tom de Vries <tom@codesourcery.com> 1732 1733 * tree-ssa-tail-merge.c (same_succ_flush_bb): Handle 1734 BB_SAME_SUCC (bb) == NULL. 1735 17362017-07-06 Andrew Pinski <apinski@cavium.com> 1737 1738 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): 1739 Access the lower part of RTX appropriately. 1740 17412017-07-04 Richard Biener <rguenther@suse.de> 1742 1743 * BASE-VER: Bump to 6.4.1. 1744 17452017-07-04 Release Manager 1746 1747 * GCC 6.4.0 released. 1748 17492017-07-03 Segher Boessenkool <segher@kernel.crashing.org> 1750 1751 Backport from trunk: 1752 1753 2017-06-15 Segher Boessenkool <segher@kernel.crashing.org> 1754 1755 * config/rs6000/rs6000.md (add<mode>3): Use reg_or_subregno instead 1756 of REGNO. 1757 17582017-06-30 Michael Meissner <meissner@linux.vnet.ibm.com> 1759 1760 Backport from mainline 1761 2017-06-23 Michael Meissner <meissner@linux.vnet.ibm.com> 1762 1763 PR target/80510 1764 * config/rs6000/rs6000.md (ALTIVEC_DFORM): Do not allow DImode in 1765 32-bit, since indexed is not valid for DImode. 1766 (mov<mode>_hardfloat32): Reorder ISA 2.07 load/stores before ISA 1767 3.0 d-form load/stores to be the same as mov<mode>_hardfloat64. 1768 (define_peephole2 for Altivec d-form load): Add 32-bit support. 1769 (define_peephole2 for Altivec d-form store): Likewise. 1770 17712017-06-27 Segher Boessenkool <segher@kernel.crashing.org> 1772 1773 Backports from trunk: 1774 1775 2016-08-15 Segher Boessenkool <segher@kernel.crashing.org> 1776 PR rtl-optimization/73650 1777 * lra-constraints.c (simple_move_p): If the insn is multiple_sets 1778 it is not a simple move. 1779 1780 2017-01-20 Segher Boessenkool <segher@kernel.crashing.org> 1781 PR target/61729 1782 PR target/77850 1783 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to 1784 read from, for big endian. 1785 1786 2017-04-04 Segher Boessenkool <segher@kernel.crashing.org> 1787 PR rtl-optimization/60818 1788 * simplify-rtx.c (simplify_binary_operation_1): Do not replace 1789 a compare of comparisons with the thing compared if this results 1790 in a different machine mode. 1791 1792 2017-04-12 Segher Boessenkool <segher@kernel.crashing.org> 1793 PR target/80382 1794 * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test 1795 for quad_address_p for TImode, instead of just not indexed_address. 1796 1797 2017-04-19 Segher Boessenkool <segher@kernel.crashing.org> 1798 PR rtl-optimization/80429 1799 * ira.c (split_live_ranges_for_shrink_wrap): Don't split regs that 1800 are only used in debug insns. 1801 1802 2017-05-17 Segher Boessenkool <segher@kernel.crashing.org> 1803 PR middle-end/80692 1804 * real.c (do_compare): Give decimal_do_compare preference over 1805 comparing just the signs. 1806 1807 2017-05-31 Segher Boessenkool <segher@kernel.crashing.org> 1808 PR target/80618 1809 * config/rs6000/vector.md (*vector_uneq<mode>): Write the nor in the 1810 splitter result in the canonical way. 1811 1812 2017-06-09 Segher Boessenkool <segher@kernel.crashing.org> 1813 PR target/80966 1814 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that 1815 gen_add3_insn did not fail. 1816 * config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to 1817 r0, construct that number in a temporary reg and add that reg to r0. 1818 If asked to put the result in r0 as well, fail. 1819 1820 2017-06-23 Segher Boessenkool <segher@kernel.crashing.org> 1821 PR middle-end/80902 1822 * builtins.c (expand_builtin_atomic_fetch_op): If emitting code after 1823 a call, force the call to not be a tail call. 1824 18252017-06-23 Thomas Preud'homme <thomas.preudhomme@arm.com> 1826 1827 Backport from mainline 1828 2017-05-04 Prakhar Bahuguna <prakhar.bahuguna@arm.com> 1829 1830 * config/arm/arm-builtins.c (arm_init_builtins): Rename 1831 __builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename 1832 __builtin_arm_stfscr to __builtin_arm_set_fpscr. 1833 18342017-06-22 Richard Biener <rguenther@suse.de> 1835 1836 Backport from mainline 1837 2017-02-17 Richard Biener <rguenther@suse.de> 1838 1839 PR tree-optimization/79552 1840 * tree-ssa-structalias.c (visit_loadstore): Properly verify 1841 default defs. 1842 1843 2016-04-18 Richard Biener <rguenther@suse.de> 1844 1845 PR tree-optimization/43434 1846 * tree-ssa-structalias.c (struct vls_data): New. 1847 (visit_loadstore): Handle all pointer-based accesses. 1848 (compute_dependence_clique): Compute a bitmap of restrict tags 1849 assigned bases and pass it to visit_loadstore. 1850 18512017-06-22 Jakub Jelinek <jakub@redhat.com> 1852 1853 Backported from mainline 1854 2017-06-21 Jakub Jelinek <jakub@redhat.com> 1855 1856 PR c++/81130 1857 * gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types 1858 with ctors/dtors if GOVD_SHARED is set. 1859 18602017-06-22 Martin Liska <mliska@suse.cz> 1861 1862 Backport from mainline 1863 2017-05-31 Martin Liska <mliska@suse.cz> 1864 1865 PR target/79155 1866 * config/i386/cpuid.h: Fix typo in a comment in cpuid.h. 1867 18682017-06-22 Martin Liska <mliska@suse.cz> 1869 1870 Backport from mainline 1871 2017-05-30 Martin Liska <mliska@suse.cz> 1872 1873 PR other/80909 1874 * auto-profile.c (get_function_decl_from_block): Fix 1875 parenthesis. 1876 18772017-06-22 Martin Liska <mliska@suse.cz> 1878 1879 Backport from mainline 1880 2017-05-26 Martin Liska <mliska@suse.cz> 1881 1882 PR ipa/80663 1883 * params.def: Bound partial-inlining-entry-probability param. 1884 18852017-06-22 Martin Liska <mliska@suse.cz> 1886 1887 Backport from mainline 1888 2017-05-16 Martin Liska <mliska@suse.cz> 1889 1890 PR ipa/79849. 1891 PR ipa/79850. 1892 * ipa-devirt.c (warn_types_mismatch): Fix typo. 1893 (odr_types_equivalent_p): Likewise. 1894 18952017-06-22 Martin Liska <mliska@suse.cz> 1896 1897 Backport from mainline 1898 2017-05-15 Martin Liska <mliska@suse.cz> 1899 1900 PR driver/31468 1901 * gcc.c (process_command): Do not allow empty argument of -o option. 1902 19032017-06-22 Martin Liska <mliska@suse.cz> 1904 1905 Backport from mainline 1906 2017-05-02 Martin Liska <mliska@suse.cz> 1907 1908 * doc/gcov.texi: Add missing preposition. 1909 * gcov.c (function_info::function_info): Properly fill up 1910 all member variables. 1911 19122017-06-22 Martin Liska <mliska@suse.cz> 1913 1914 Backport from mainline 1915 2017-05-02 Martin Liska <mliska@suse.cz> 1916 1917 PR other/80589 1918 * common.opt: Fix typo. 1919 * doc/invoke.texi: Likewise. 1920 19212017-06-22 Martin Liska <mliska@suse.cz> 1922 1923 Backport from mainline 1924 2017-04-28 Martin Liska <mliska@suse.cz> 1925 1926 * doc/gcov.texi: Enhance documentation of gcov. 1927 19282017-06-22 Martin Liska <mliska@suse.cz> 1929 1930 Backport from mainline 1931 2017-04-28 Martin Liska <mliska@suse.cz> 1932 1933 * doc/gcov.texi: Sort options in alphabetic order. 1934 * doc/gcov-dump.texi: Likewise. 1935 * doc/gcov-tool.texi: Likewise. 1936 * gcov.c (print_usage): Likewise. 1937 * gcov-dump.c (print_usage): Likewise. 1938 * gcov-tool.c (print_merge_usage_message): Likewise. 1939 (print_rewrite_usage_message): Likewise. 1940 (print_overlap_usage_message): Likewise. 1941 19422017-06-22 Martin Liska <mliska@suse.cz> 1943 1944 Backport from mainline 1945 2017-04-28 Martin Liska <mliska@suse.cz> 1946 1947 PR gcov-profile/53915 1948 * gcov.c (format_gcov): Print 'NAN %' when top > bottom. 1949 19502017-06-22 Martin Liska <mliska@suse.cz> 1951 1952 Backport from mainline 1953 2017-04-28 Martin Liska <mliska@suse.cz> 1954 1955 PR driver/56469 1956 * coverage.c (coverage_remove_note_file): New function. 1957 * coverage.h: Declare the function. 1958 * toplev.c (finalize): Clean if an error has been seen. 1959 19602017-06-22 Martin Liska <mliska@suse.cz> 1961 1962 Backport from mainline 1963 2017-04-12 Jan Hubicka <hubicka@ucw.cz> 1964 1965 PR lto/69953 1966 * ipa-visibility.c (non_local_p): Fix typos. 1967 (localize_node): When localizing symbol in same comdat group, 1968 dissolve the group only when we know external symbols are going 1969 to be privatized. 1970 (function_and_variable_visibility): Do not localize DECL_EXTERNAL. 1971 19722017-06-22 Martin Liska <mliska@suse.cz> 1973 1974 Backport from mainline 1975 2017-01-17 Nathan Sidwell <nathan@acm.org> 1976 1977 * ipa-visibility.c (localize_node): New function, broken out of ... 1978 (function_and_variable_visibility): ... here. Call it. 1979 19802017-06-22 Martin Liska <mliska@suse.cz> 1981 1982 Backport from mainline 1983 2017-01-06 Nathan Sidwell <nathan@acm.org> 1984 1985 * ipa-visibility.c (function_and_variable_visibility): Reformat 1986 comments and long lines. Remove extrneous if. 1987 * symtab.c (symtab_node::make_decl_local): Fix code format. 1988 (symtab_node::set_section_for_node): Fix comment typo. 1989 19902017-06-22 Martin Liska <mliska@suse.cz> 1991 1992 Backport from mainline 1993 2016-10-20 Martin Liska <mliska@suse.cz> 1994 1995 PR lto/78049 1996 * lto-streamer-in.c (fixup_call_stmt_edges_1): Replace value 1997 comparison with STMT_UID_NOT_IN_RANGE. 1998 (fixup_call_stmt_edges): Do not fixup edges of a thunk in 1999 LTRANS. 2000 20012017-06-22 Jakub Jelinek <jakub@redhat.com> 2002 2003 Backported from mainline 2004 2017-05-22 Jakub Jelinek <jakub@redhat.com> 2005 2006 PR middle-end/80809 2007 * omp-low.c (finish_taskreg_remap): New function. 2008 (finish_taskreg_scan): If unit size of ctx->record_type 2009 is non-constant, unshare the size expression and replace 2010 decls in it with possible outer var refs. 2011 2012 PR middle-end/80809 2013 * gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use 2014 GOVD_SHARED rather than GOVD_PRIVATE with it. 2015 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect 2016 GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE. 2017 2018 PR middle-end/80853 2019 * omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE 2020 as last argument to build_outer_var_ref for pointer bases of array 2021 section reductions. 2022 20232017-06-22 Richard Biener <rguenther@suse.de> 2024 2025 Backport from mainline 2026 2017-04-20 Richard Biener <rguenther@suse.de> 2027 2028 PR tree-optimization/80453 2029 * tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members. 2030 * tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs 2031 from the conditions. 2032 (vn_phi_eq): Pass them down. 2033 (vn_phi_lookup): Record them. 2034 (vn_phi_insert): Likewise. 2035 2036 2017-04-07 Richard Biener <rguenther@suse.de> 2037 2038 PR middle-end/80341 2039 * tree.c (get_unwidened): Also handle ! for_type case for 2040 INTEGER_CSTs. 2041 * convert.c (do_narrow): Split out from ... 2042 (convert_to_integer_1): ... here. Do not pass final truncation 2043 type to get_unwidened for TRUNC_DIV_EXPR. 2044 2045 2017-04-04 Richard Biener <rguenther@suse.de> 2046 2047 PR middle-end/80281 2048 * match.pd (A + (-B) -> A - B): Make sure to preserve unsigned 2049 arithmetic done for the negate or the plus. Simplify. 2050 (A - (-B) -> A + B): Likewise. 2051 * fold-const.c (split_tree): Make sure to not negate pointers. 2052 20532017-06-22 Richard Biener <rguenther@suse.de> 2054 2055 Backport from mainline 2056 2017-01-30 Richard Biener <rguenther@suse.de> 2057 2058 PR tree-optimization/79256 2059 * targhooks.c (default_builtin_vector_alignment_reachable): Honor 2060 BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus 2061 alignment on TYPE. 2062 * tree.c (build_aligned_type): Set TYPE_USER_ALIGN. 2063 2064 2017-01-25 Richard Biener <rguenther@suse.de> 2065 2066 PR tree-optimization/69264 2067 * target.def (vector_alignment_reachable): Improve documentation. 2068 * doc/tm.texi: Regenerate. 2069 * targhooks.c (default_builtin_vector_alignment_reachable): Simplify 2070 and add a comment. 2071 * tree-vect-data-refs.c (vect_supportable_dr_alignment): Revert 2072 earlier changes with respect to TYPE_USER_ALIGN. 2073 (vector_alignment_reachable_p): Likewise. Improve dumping. 2074 2075 2017-02-09 Richard Biener <rguenther@suse.de> 2076 2077 PR tree-optimization/69823 2078 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region): 2079 Properly enumerate all BBs in the region. Use auto_vec. 2080 20812017-06-21 Michael Meissner <meissner@linux.vnet.ibm.com> 2082 2083 Back port from mainline 2084 2017-05-19 Michael Meissner <meissner@linux.vnet.ibm.com> 2085 2086 PR target/80718 2087 * config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Prefer 2088 VSX registers over GPRs, particularly on ISA 2.07 which does not 2089 have the MTVSRDD instruction. 2090 2091 Back port from mainline 2092 2017-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> 2093 2094 PR target/80510 2095 * config/rs6000/predicates.md (simple_offsettable_mem_operand): 2096 New predicate. 2097 2098 * config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator. 2099 (define_peephole2 for Altivec d-form load): Add peepholes to catch 2100 cases where the register allocator uses a move and an offsettable 2101 memory operation to/from a FPR register on ISA 2.06/2.07. 2102 (define_peephole2 for Altivec d-form store): Likewise. 2103 2104 Back port from mainline 2105 2017-05-09 Michael Meissner <meissner@linux.vnet.ibm.com> 2106 2107 PR target/68163 2108 * config/rs6000/rs6000.md (f32_lr): Delete mode attributes that 2109 are now unused after splitting mov{sf,sd}_hardfloat. 2110 (f32_lr2): Likewise. 2111 (f32_lm): Likewise. 2112 (f32_lm2): Likewise. 2113 (f32_li): Likewise. 2114 (f32_li2): Likewise. 2115 (f32_lv): Likewise. 2116 (f32_sr): Likewise. 2117 (f32_sr2): Likewise. 2118 (f32_sm): Likewise. 2119 (f32_sm2): Likewise. 2120 (f32_si): Likewise. 2121 (f32_si2): Likewise. 2122 (f32_sv): Likewise. 2123 (f32_dm): Likewise. 2124 (f32_vsx): Likewise. 2125 (f32_av): Likewise. 2126 (mov<mode>_hardfloat): Split into separate movsf and movsd pieces. 2127 For movsf, order stores so the VSX stores occur before the GPR 2128 store which encourages the register allocator to use a traditional 2129 FPR instead of a GPR. For movsd, order the stores so that the GPR 2130 store comes before the VSX stores to allow the power6 to work. 2131 This is due to the power6 not having a 32-bit integer store 2132 instruction from a FPR. 2133 (movsf_hardfloat): Likewise. 2134 (movsd_hardfloat): Likewise. 2135 21362017-06-21 Jeff Law <law@redhat.com> 2137 2138 * config/darwin-driver.c (darwin_driver_init): Const-correctness 2139 fixes for first_period and second_period variables. 2140 21412017-06-19 James Greenhalgh <james.greenhalgh@arm.com> 2142 2143 Backport from mainline 2144 2017-06-16 James Greenhalgh <james.greenhalgh@arm.com> 2145 2146 PR target/71778 2147 * config/arm/arm-builtins.c (arm_expand_builtin_args): Return TARGET 2148 if given a non-constant argument for an intrinsic which requires a 2149 constant. 2150 21512017-06-15 Eric Botcazou <ebotcazou@adacore.com> 2152 2153 PR rtl-optimization/80474 2154 * reorg.c (update_block): Do not ignore instructions in a delay slot. 2155 21562017-06-14 Eric Botcazou <ebotcazou@adacore.com> 2157 2158 * config/sparc/driver-sparc.c (cpu_names): Add SPARC-T5 entry. 2159 21602017-06-09 David S. Miller <davem@davemloft.net> 2161 2162 PR target/80968 2163 * config/sparc/sparc.c (sparc_flat_expand_epilogue): Don't 2164 emit frame blockage here. 2165 (sparc_expand_epilogue): Do it here. 2166 * config/sparc/sparc.md (return expander): Emit frame blockage 2167 for alloca here too. 2168 21692017-06-06 David S. Miller <davem@davemloft.net> 2170 2171 PR target/80968 2172 * config/sparc/sparc.c (sparc_expand_prologue): Emit frame 2173 blockage if function uses alloca. 2174 21752017-06-06 Toma Tabacu <toma.tabacu@imgtec.com> 2176 2177 Backported from mainline 2178 2017-03-09 Toma Tabacu <toma.tabacu@imgtec.com> 2179 2180 * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes): 2181 Document rdynamic. 2182 21832017-06-01 Jakub Jelinek <jakub@redhat.com> 2184 2185 Backported from mainline 2186 2016-08-19 Jakub Jelinek <jakub@redhat.com> 2187 2188 * config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step, 2189 _rdseed64_step): Uglify argument names and/or local variable names 2190 in inline functions. 2191 * config/i386/rtmintrin.h (_xabort): Likewise. 2192 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64, 2193 _mm256_mask_ternarylogic_epi64, _mm256_maskz_ternarylogic_epi64, 2194 _mm256_ternarylogic_epi32, _mm256_mask_ternarylogic_epi32, 2195 _mm256_maskz_ternarylogic_epi32, _mm_ternarylogic_epi64, 2196 _mm_mask_ternarylogic_epi64, _mm_maskz_ternarylogic_epi64, 2197 _mm_ternarylogic_epi32, _mm_mask_ternarylogic_epi32, 2198 _mm_maskz_ternarylogic_epi32): Likewise. 2199 * config/i386/lwpintrin.h (__llwpcb, __lwpval32, __lwpval64, 2200 __lwpins32, __lwpins64): Likewise. 2201 * config/i386/avx2intrin.h (_mm_i32gather_pd, _mm_mask_i32gather_pd, 2202 _mm256_i32gather_pd, _mm256_mask_i32gather_pd, _mm_i64gather_pd, 2203 _mm_mask_i64gather_pd, _mm256_i64gather_pd, _mm256_mask_i64gather_pd, 2204 _mm_i32gather_ps, _mm_mask_i32gather_ps, _mm256_i32gather_ps, 2205 _mm256_mask_i32gather_ps, _mm_i64gather_ps, _mm_mask_i64gather_ps, 2206 _mm256_i64gather_ps, _mm256_mask_i64gather_ps, _mm_i32gather_epi64, 2207 _mm_mask_i32gather_epi64, _mm256_i32gather_epi64, 2208 _mm256_mask_i32gather_epi64, _mm_i64gather_epi64, 2209 _mm_mask_i64gather_epi64, _mm256_i64gather_epi64, 2210 _mm256_mask_i64gather_epi64, _mm_i32gather_epi32, 2211 _mm_mask_i32gather_epi32, _mm256_i32gather_epi32, 2212 _mm256_mask_i32gather_epi32, _mm_i64gather_epi32, 2213 _mm_mask_i64gather_epi32, _mm256_i64gather_epi32, 2214 _mm256_mask_i64gather_epi32): Likewise. 2215 * config/i386/pmm_malloc.h (_mm_malloc, _mm_free): Likewise. 2216 * config/i386/ia32intrin.h (__writeeflags): Likewise. 2217 * config/i386/pkuintrin.h (_wrpkru): Likewise. 2218 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd, 2219 _mm512_mask_prefetch_i32gather_ps, _mm512_mask_prefetch_i64gather_pd, 2220 _mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd, 2221 _mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd, 2222 _mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd, 2223 _mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd, 2224 _mm512_mask_prefetch_i64scatter_ps): Likewise. 2225 * config/i386/gmm_malloc.h (_mm_malloc, _mm_free): Likewise. 2226 * config/i386/avx512fintrin.h (_mm512_ternarylogic_epi64, 2227 _mm512_mask_ternarylogic_epi64, _mm512_maskz_ternarylogic_epi64, 2228 _mm512_ternarylogic_epi32, _mm512_mask_ternarylogic_epi32, 2229 _mm512_maskz_ternarylogic_epi32, _mm512_i32gather_ps, 2230 _mm512_mask_i32gather_ps, _mm512_i32gather_pd, _mm512_i64gather_ps, 2231 _mm512_i64gather_pd, _mm512_i32gather_epi32, _mm512_i32gather_epi64, 2232 _mm512_i64gather_epi32, _mm512_i64gather_epi64): Likewise. 2233 22342017-05-30 Max Filippov <jcmvbkbc@gmail.com> 2235 2236 Backport from mainline 2237 2017-05-29 Max Filippov <jcmvbkbc@gmail.com> 2238 2239 * config/xtensa/xtensa.c (xtensa_emit_call): Use 2240 HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string. 2241 (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld 2242 format string. 2243 22442017-05-30 Max Filippov <jcmvbkbc@gmail.com> 2245 2246 Backport from mainline 2247 2016-11-29 Max Filippov <jcmvbkbc@gmail.com> 2248 2249 * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero 2250 overhead loop start between a call and its CALL_ARG_LOCATION 2251 note. 2252 22532017-05-30 Max Filippov <jcmvbkbc@gmail.com> 2254 2255 Backport from mainline 2256 2016-11-01 Max Filippov <jcmvbkbc@gmail.com> 2257 2258 * config/xtensa/xtensa-protos.h 2259 (xtensa_use_return_instruction_p): New prototype. 2260 * config/xtensa/xtensa.c (xtensa_current_frame_size, 2261 xtensa_callee_save_size): Remove. 2262 (struct machine_function): Add new fields: current_frame_size, 2263 callee_save_size, frame_laid_out and epilogue_done. 2264 (compute_frame_size, xtensa_expand_prologue, 2265 xtensa_expand_epilogue): Replace xtensa_callee_save_size with 2266 cfun->machine->callee_save_size and xtensa_current_frame_size 2267 with cfun->machine->current_frame_size. 2268 (compute_frame_size): Update cfun->machine->frame_laid_out and 2269 don't update frame layout after reload completion. 2270 (xtensa_expand_epilogue): Set cfun->machine->epilogue_done 2271 instead of zeroing xtensa_current_frame_size. 2272 (xtensa_use_return_instruction_p): New function. 2273 * config/xtensa/xtensa.h (xtensa_current_frame_size): Remove 2274 declaration. 2275 (INITIAL_ELIMINATION_OFFSET): Use return value of 2276 compute_frame_size instead of xtensa_current_frame_size value. 2277 * config/xtensa/xtensa.md ("return" pattern): Use new predicate 2278 function xtensa_use_return_instruction_p instead of inline code. 2279 22802017-05-29 Eric Botcazou <ebotcazou@adacore.com> 2281 2282 * doc/install.texi (Options specification): Move entry of 2283 --enable-sjlj-exceptions. 2284 22852017-05-26 Sheldon Lobo <smlobo@sheldon.us.oracle.com> 2286 2287 Backported from mainline 2288 2017-05-24 Sheldon Lobo <smlobo@sheldon.us.oracle.com> 2289 2290 * config/sparc/sparc.md (length): Return the correct value for -mflat 2291 sibcalls to match output_sibcall. 2292 22932017-05-26 Martin Liska <mliska@suse.cz> 2294 2295 Backport from mainline 2296 2017-04-24 Jan Hubicka <hubicka@ucw.cz> 2297 2298 PR middle-end/79931 2299 * ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE. 2300 23012017-05-26 Martin Liska <mliska@suse.cz> 2302 2303 Backport from mainline 2304 2017-04-19 Richard Biener <rguenther@suse.de> 2305 2306 PR ipa/65972 2307 * auto-profile.c (afdo_vpt_for_early_inline): Update SSA 2308 when needed by AutoPGO. 2309 23102017-05-26 Martin Liska <mliska@suse.cz> 2311 2312 Backport from mainline 2313 2017-04-19 Paulo J. Matos <paulo@matos-sorge.com> 2314 2315 PR lto/50345 2316 * doc/lto.texi: Remove an extra 'that'. 2317 23182017-05-26 Martin Liska <mliska@suse.cz> 2319 2320 Backport from mainline 2321 2017-04-18 Martin Liska <mliska@suse.cz> 2322 2323 PR gcov-profile/78783 2324 * gcov-tool.c (gcov_output_files): Validate that destination 2325 file is either removed by the tool or by a user. 2326 23272017-05-26 Martin Liska <mliska@suse.cz> 2328 2329 Backport from mainline 2330 2017-04-13 Martin Liska <mliska@suse.cz> 2331 2332 PR gcov-profile/80413 2333 * gcov-io.c (gcov_write_string): Copy to buffer just when 2334 allocated size is greater than zero. 2335 23362017-05-26 Martin Liska <mliska@suse.cz> 2337 2338 Backport from mainline 2339 2017-04-11 Martin Liska <mliska@suse.cz> 2340 2341 PR ipa/80212 2342 * cgraph.c (cgraph_node::dump): Dump calls_comdat_local. 2343 * ipa-split.c (split_function): Create a local comdat symbol 2344 if caller is in a comdat group. 2345 23462017-05-26 Martin Liska <mliska@suse.cz> 2347 2348 Backport from mainline 2349 2017-04-11 Martin Liska <mliska@suse.cz> 2350 2351 PR ipa/80212 2352 * ipa-cp.c (determine_versionability): Handle calls_comdat_local 2353 flags. 2354 23552017-05-26 Martin Liska <mliska@suse.cz> 2356 2357 Backport from mainline 2358 2017-04-11 Martin Liska <mliska@suse.cz> 2359 2360 PR sanitizer/70878 2361 * ubsan.c (instrument_object_size): Do not instrument register 2362 variables. 2363 23642017-05-26 Martin Liska <mliska@suse.cz> 2365 2366 Backport from mainline 2367 2017-04-10 Martin Liska <mliska@suse.cz> 2368 2369 PR gcov-profile/80224 2370 * gcov.c (print_usage): Fix usage string. 2371 (get_gcov_intermediate_filename): Remove. 2372 (output_gcov_file): Use both for normal and intermediate format. 2373 (generate_results): Do not initialize special file for 2374 intermediate format. 2375 23762017-05-26 Martin Liska <mliska@suse.cz> 2377 2378 Backport from mainline 2379 2017-03-28 Richard Biener <rguenther@suse.de> 2380 2381 PR ipa/80205 2382 * tree-inline.c (copy_phis_for_bb): Do not create PHI node 2383 without arguments, generate default definition of a SSA name. 2384 23852017-05-26 Martin Liska <mliska@suse.cz> 2386 2387 Backport from mainline 2388 2017-03-28 Martin Liska <mliska@suse.cz> 2389 2390 PR ipa/80104 2391 * cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a 2392 thunk call as DECL_GIMPLE_REG_P when vector or complex type. 2393 23942017-05-23 Sheldon Lobo <sheldon.lobo@oracle.com> 2395 2396 Backport from mainline 2397 2017-05-18 Sheldon Lobo <sheldon.lobo@oracle.com> 2398 2399 * config/sparc/sparc.c (sparc_option_override): Set function 2400 alignment for -mcpu=niagara7 to 64 to match the I$ line. 2401 * config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch 2402 latency to 1. 2403 * config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch 2404 latency to 2. 2405 * config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo. 2406 24072017-05-19 Uros Bizjak <ubizjak@gmail.com> 2408 2409 Backport from mainline 2410 2017-05-18 Uros Bizjak <ubizjak@gmail.com> 2411 2412 PR target/80799 2413 * config/i386/mmx.md (*mov<mode>_internal): Enable 2414 alternatives 11, 12, 13 and 14 also for 32bit targets. 2415 Remove alternatives 15, 16, 17 and 18. 2416 * config/i386/sse.md (vec_concatv2di): Change 2417 alternative (!x, *y) to (x, ?!*Yn). 2418 24192017-05-15 Richard Biener <rguenther@suse.de> 2420 2421 Revert backport of 2422 PR middle-end/80222 2423 * gimple-fold.c (gimple_fold_indirect_ref): Do not touch 2424 TYPE_REF_CAN_ALIAS_ALL references. 2425 * fold-const.c (fold_indirect_ref_1): Likewise. 2426 24272017-05-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2428 2429 Backport from mainline 2430 2017-05-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2431 2432 * config/rs6000/rs6000.c (rs6000_vect_nonmem): New static var. 2433 (rs6000_init_cost): Initialize rs6000_vect_nonmem. 2434 (rs6000_add_stmt_cost): Update rs6000_vect_nonmem. 2435 (rs6000_finish_cost): Avoid vectorizing simple copy loops with 2436 VF=2 that require versioning. 2437 24382017-05-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2439 2440 Backport from mainline 2441 2017-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2442 2443 * config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8 2444 built-ins for vec_xl and vec_xst with short and char pointer 2445 arguments. 2446 24472017-05-10 John David Anglin <danglin@gcc.gnu.org> 2448 2449 PR target/80090 2450 * config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF, 2451 handle calling assemble_external ourself. 2452 2453 PR target/79027 2454 * config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from 2455 modes with zero size. Enhance comment. 2456 24572017-05-10 Richard Biener <rguenther@suse.de> 2458 2459 Backport from mainline 2460 2017-03-17 Richard Biener <rguenther@suse.de> 2461 2462 PR middle-end/80075 2463 * tree-eh.c (stmt_could_throw_1_p): Only handle gimple assigns. 2464 Properly verify the LHS before the RHS possibly claims to be 2465 handled. 2466 (stmt_could_throw_p): Hande gimple conds fully here. Clobbers 2467 do not throw. 2468 2469 2017-03-21 Brad Spengler <spender@grsecurity.net> 2470 2471 PR plugin/80094 2472 * plugin.c (htab_hash_plugin): New function. 2473 (add_new_plugin): Use it and adjust. 2474 (parse_plugin_arg_opt): Adjust. 2475 (init_one_plugin): Likewise. 2476 2477 2017-03-20 Richard Biener <rguenther@suse.de> 2478 2479 PR tree-optimization/80113 2480 * graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not 2481 allocate extra SSA name for PHI def. 2482 (add_close_phis_to_outer_loops): Likewise. 2483 (add_close_phis_to_merge_points): Likewise. 2484 (copy_loop_close_phi_args): Likewise. 2485 (copy_cond_phi_nodes): Likewise. 2486 2487 2017-03-21 Richard Biener <rguenther@suse.de> 2488 2489 PR tree-optimization/80122 2490 * tree-inline.c (copy_bb): Do not expans va-arg packs or 2491 va_arg_pack_len when the inlined call stmt requires pack 2492 expansion itself. 2493 * tree-inline.h (struct copy_body_data): Make call_stmt a gcall *. 2494 2495 2017-03-24 Richard Biener <rguenther@suse.de> 2496 2497 PR tree-optimization/80167 2498 * graphite-isl-ast-to-gimple.c 2499 (translate_isl_ast_to_gimple::is_valid_rename): Handle default-defs 2500 properly. 2501 (translate_isl_ast_to_gimple::get_rename): Likewise. 2502 2503 2017-03-27 Richard Biener <rguenther@suse.de> 2504 2505 PR tree-optimization/80170 2506 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Make 2507 sure DR/SCEV didnt fold in constants we do not see when looking 2508 at the reference base alignment. 2509 2510 2017-03-27 Richard Biener <rguenther@suse.de> 2511 2512 PR middle-end/80171 2513 * gimple-fold.c (fold_ctor_reference): Properly guard against 2514 NULL return value from canonicalize_constructor_val. 2515 25162017-05-09 Richard Biener <rguenther@suse.de> 2517 2518 Backport from mainline 2519 2017-03-28 Richard Biener <rguenther@suse.de> 2520 2521 PR middle-end/80222 2522 * gimple-fold.c (gimple_fold_indirect_ref): Do not touch 2523 TYPE_REF_CAN_ALIAS_ALL references. 2524 * fold-const.c (fold_indirect_ref_1): Likewise. 2525 2526 2017-04-06 Richard Biener <rguenther@suse.de> 2527 2528 PR tree-optimization/80262 2529 * tree-sra.c (build_ref_for_offset): Preserve address-space 2530 information. 2531 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): 2532 Drop useless address-space information on MEM_REF offsets. 2533 2534 2017-04-03 Richard Biener <rguenther@suse.de> 2535 2536 PR tree-optimization/80275 2537 * fold-const.c (split_address_to_core_and_offset): Handle 2538 POINTER_PLUS_EXPR. 2539 2540 2017-04-06 Richard Biener <rguenther@suse.de> 2541 2542 PR tree-optimization/80334 2543 * tree-ssa-loop-ivopts.c (rewrite_use_address): Properly 2544 preserve alignment of accesses. 2545 2546 2017-04-10 Richard Biener <rguenther@suse.de> 2547 2548 PR middle-end/80362 2549 * fold-const.c (fold_binary_loc): Look at unstripped ops when 2550 looking for NEGATE_EXPR in -A / -B to A / B folding. 2551 2552 2017-04-25 Richard Biener <rguenther@suse.de> 2553 2554 PR tree-optimization/80492 2555 * alias.c (compare_base_decls): Handle registers with asm 2556 specification conservatively. 2557 2558 2017-04-27 Richard Biener <rguenther@suse.de> 2559 2560 PR middle-end/80539 2561 * tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not 2562 being in loop-closed SSA form conservatively. 2563 (chrec_fold_multiply_poly_poly): Likewise. 2564 25652017-05-09 Jakub Jelinek <jakub@redhat.com> 2566 2567 PR testsuite/80678 2568 2016-06-14 Richard Biener <rguenther@suse.de> 2569 2570 PR middle-end/71310 2571 PR bootstrap/71510 2572 * expr.h (get_bit_range): Declare. 2573 * expr.c (get_bit_range): Export. 2574 * fold-const.c (optimize_bit_field_compare): Use get_bit_range and 2575 word_mode again to constrain the bitfield access. 2576 2577 2016-06-11 Segher Boessenkool <segher@kernel.crashing.org> 2578 2579 PR middle-end/71310 2580 * fold-const.c (optimize_bit_field_compare): Don't try to use 2581 word_mode unconditionally for reading the bit field, look at 2582 DECL_BIT_FIELD_REPRESENTATIVE instead. 2583 25842017-05-05 Jakub Jelinek <jakub@redhat.com> 2585 2586 Backported from mainline 2587 2017-04-25 Jakub Jelinek <jakub@redhat.com> 2588 2589 * Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the 2590 environment. 2591 2592 PR rtl-optimization/80501 2593 * combine.c (make_compound_operation_int): Set subreg_code to SET 2594 even for AND with mask of the sign bit of mode. 2595 2596 2017-04-12 Jakub Jelinek <jakub@redhat.com> 2597 2598 PR sanitizer/80349 2599 * fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's 2600 first argument to type. 2601 2602 2017-04-11 Jakub Jelinek <jakub@redhat.com> 2603 2604 PR rtl-optimization/80385 2605 * simplify-rtx.c (simplify_unary_operation_1): Don't transform 2606 (not (neg X)) into (plus X -1) for complex or non-integral modes. 2607 2608 PR libgomp/80394 2609 * omp-low.c (scan_omp_task): Don't optimize away empty tasks 2610 if they have any depend clauses. 2611 2612 2017-04-04 Jakub Jelinek <jakub@redhat.com> 2613 Richard Biener <rguenther@suse.de> 2614 2615 PR c++/80297 2616 * genmatch.c (capture::gen_transform): For GENERIC unshare_expr 2617 captures used multiple times, except for the last use. 2618 * generic-match-head.c: Include gimplify.h. 2619 2620 2017-04-04 Jakub Jelinek <jakub@redhat.com> 2621 2622 PR target/80286 2623 * config/i386/i386.c (ix86_expand_args_builtin): If op has scalar 2624 int mode, convert_modes it to mode as unsigned, otherwise use 2625 lowpart_subreg to mode rather than SImode. 2626 * config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>, 2627 ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>): 2628 Use DImode instead of SImode for the shift count operand. 2629 * config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3): 2630 Likewise. 2631 2632 2017-04-13 Jakub Jelinek <jakub@redhat.com> 2633 2634 PR debug/80321 2635 * dwarf2out.c (decls_for_scope): Ignore declarations of 2636 current_function_decl in BLOCK_NONLOCALIZED_VARS. 2637 2638 2017-03-31 Jakub Jelinek <jakub@redhat.com> 2639 2640 PR debug/79255 2641 * dwarf2out.c (decls_for_scope): If BLOCK_NONLOCALIZED_VAR is 2642 a FUNCTION_DECL, pass it as decl instead of origin to 2643 process_scope_var. 2644 2645 PR debug/80025 2646 * cselib.c (cselib_hasher::equal): Pass 0 to rtx_equal_for_cselib_1. 2647 (rtx_equal_for_cselib_1): Add depth argument. If depth 2648 is 128, don't look up VALUE locs and punt. Increment 2649 depth in recursive calls when walking VALUE locs. 2650 2651 2017-03-27 Jakub Jelinek <jakub@redhat.com> 2652 2653 PR sanitizer/80168 2654 * asan.c (instrument_derefs): Copy over last operand from 2655 original COMPONENT_REF to the new COMPONENT_REF with 2656 DECL_BIT_FIELD_REPRESENTATIVE. 2657 * ubsan.c (instrument_object_size): Likewise. 2658 2659 2017-03-24 Jakub Jelinek <jakub@redhat.com> 2660 2661 PR rtl-optimization/80112 2662 * loop-doloop.c (doloop_condition_get): Don't check condition 2663 if cmp isn't SET with IF_THEN_ELSE src. 2664 2665 2017-03-22 Jakub Jelinek <jakub@redhat.com> 2666 2667 PR c++/80129 2668 * gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear 2669 TREE_READONLY on result if writing it more than once. 2670 2671 2017-03-09 Jakub Jelinek <jakub@redhat.com> 2672 2673 PR sanitizer/79944 2674 * asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and 2675 BUILT_IN_SYNC*, determine the access type from the size suffix and 2676 always build a MEM_REF with that type. Handle forgotten 2677 BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16. 2678 2679 PR target/79932 2680 * config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask, 2681 _mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask, 2682 _mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask, 2683 _mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask, 2684 _mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask, 2685 _mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask, 2686 _mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask, 2687 _mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask, 2688 _mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask, 2689 _mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask, 2690 _mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask, 2691 _mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask, 2692 _mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask, 2693 _mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask, 2694 _mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask, 2695 _mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask, 2696 _mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask, 2697 _mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask, 2698 _mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask, 2699 _mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask, 2700 _mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask, 2701 _mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask, 2702 _mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask, 2703 _mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask, 2704 _mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask, 2705 _mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask, 2706 _mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask, 2707 _mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask, 2708 _mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask, 2709 _mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move 2710 definitions outside of __OPTIMIZE__ guarded section. 2711 2712 PR target/79932 2713 * config/i386/avx512bwintrin.h (_mm512_packs_epi32, 2714 _mm512_maskz_packs_epi32, _mm512_mask_packs_epi32, 2715 _mm512_packus_epi32, _mm512_maskz_packus_epi32, 2716 _mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__ 2717 guarded section. 2718 2719 2017-03-08 Jakub Jelinek <jakub@redhat.com> 2720 2721 PR c/79940 2722 * gimplify.c (gimplify_omp_for): Replace index var in outer 2723 taskloop statement with an artificial variable and add 2724 OMP_CLAUSE_PRIVATE clause for it. 2725 2726 2017-03-07 Jakub Jelinek <jakub@redhat.com> 2727 2728 PR rtl-optimization/79901 2729 * config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to 2730 ... 2731 (*avx512f_<code><mode>3<mask_name>): ... this. 2732 (<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F 2733 iterator instead of VI8_AVX2_AVX512BW. 2734 2735 PR rtl-optimization/79901 2736 * expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no 2737 min/max expander, expand it using expand_vec_cond_expr. 2738 2739 2017-03-03 Jakub Jelinek <jakub@redhat.com> 2740 2741 PR target/79807 2742 * config/i386/i386.c (ix86_expand_multi_arg_builtin): If target 2743 is a memory operand, increase num_memory. 2744 (ix86_expand_args_builtin): Likewise. 2745 2746 2017-03-01 Jakub Jelinek <jakub@redhat.com> 2747 2748 PR c++/79681 2749 * fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF, 2750 attempt to use its first operand as BIT_FIELD_REF base. 2751 2752 2017-02-28 Jakub Jelinek <jakub@redhat.com> 2753 2754 PR target/79729 2755 * config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace 2756 gcc_unreachable with output_operand_lossage. 2757 2758 2017-02-25 Jakub Jelinek <jakub@redhat.com> 2759 2760 PR middle-end/79396 2761 * tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle 2762 FMA_EXPR like tcc_binary or tcc_unary. 2763 2764 2017-02-21 Jakub Jelinek <jakub@redhat.com> 2765 2766 PR target/79570 2767 * sel-sched.c (moveup_expr_cached): Don't call sel_bb_head 2768 on temporarily removed DEBUG_INSNs. 2769 2770 PR target/79494 2771 * config/i386/i386.c (ix86_expand_split_stack_prologue): Call 2772 make_reg_eh_region_note_nothrow_nononlocal on call_insn. 2773 * config/rs6000/rs6000.c: Include except.h. 2774 (rs6000_expand_split_stack_prologue): Call 2775 make_reg_eh_region_note_nothrow_nononlocal on the call insn. 2776 2777 2017-02-20 Jakub Jelinek <jakub@redhat.com> 2778 2779 PR target/79568 2780 * config/i386/i386.c (ix86_expand_builtin): Handle 2781 OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in 2782 ix86_builtins_isa[fcode].isa as a requirement of those 2783 flags and any other flag in the bitmask. 2784 (ix86_init_mmx_sse_builtins): Use 0 instead of 2785 ~OPTION_MASK_ISA_64BIT as mask. 2786 * config/i386/i386-builtin.def (bdesc_special_args, 2787 bdesc_args): Likewise. 2788 2789 2017-02-18 Jakub Jelinek <jakub@redhat.com> 2790 2791 PR target/79559 2792 * config/i386/i386.c (ix86_print_operand): Use output_operand_lossage 2793 instead of gcc_assert for K, r and R code checks. Formatting fixes. 2794 27952017-05-05 Marek Polacek <polacek@redhat.com> 2796 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2797 Jakub Jelinek <jakub@redhat.com> 2798 2799 PR target/77728 2800 * config/arm/arm.c: Include gimple.h. 2801 (aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align 2802 returns negative, increment ncrn if it returned non-zero. 2803 (arm_needs_doubleword_align): Return int instead of bool, 2804 ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain 2805 members, but if there is any such non-FIELD_DECL 2806 > PARM_BOUNDARY aligned decl, return -1 instead of false. 2807 (arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align 2808 returns negative, increment nregs if it returned non-zero. 2809 (arm_setup_incoming_varargs): Likewise. 2810 (arm_function_arg_boundary): Emit -Wpsabi note if 2811 arm_needs_doubleword_align returns negative, return 2812 DOUBLEWORD_ALIGNMENT if it returned non-zero. 2813 28142017-05-03 Uros Bizjak <ubizjak@gmail.com> 2815 2816 Backport from mainline 2817 2017-05-01 Uros Bizjak <ubizjak@gmail.com> 2818 2819 PR target/68491 2820 * config/i386/cpuid.h (__get_cpuid): Always return 0 when 2821 __get_cpuid_max returns 0. 2822 (__get_cpuid_count): Ditto. 2823 28242017-04-21 Eric Botcazou <ebotcazou@adacore.com> 2825 2826 Backport from mainline 2827 2017-04-19 Eric Botcazou <ebotcazou@adacore.com> 2828 Jakub Jelinek <jakub@redhat.com> 2829 2830 PR tree-optimization/80426 2831 * tree-vrp.c (extract_range_from_binary_expr_1): For an additive 2832 operation on symbolic operands, also compute the overflow for the 2833 invariant part when the operation degenerates into a negation. 2834 28352017-04-19 Georg-Johann Lay <avr@gjlay.de> 2836 2837 Backport from 2017-04-19 trunk r246997. 2838 2839 PR target/80462 2840 * config/avr/avr.c (tree.h): Include it. 2841 (cgraph.h): Include it. 2842 (avr_encode_section_info): Don't warn for uninitialized progmem 2843 variable if it's just an alias. 2844 28452017-04-18 Georg-Johann Lay <avr@gjlay.de> 2846 2847 Backport from 2017-04-18 trunk r246966. 2848 2849 PR target/79453 2850 * config/avr/avr.c (intl.h): Include it. 2851 (avr_pgm_check_var_decl) [reason]: Wrap diagnostic snippets into _(). 2852 28532017-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2854 2855 Backport from mainline 2856 2017-04-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2857 2858 PR target/80376 2859 PR target/80315 2860 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return 2861 CONST0_RTX (mode) rather than const0_rtx where appropriate. 2862 (rs6000_expand_binop_builtin): Likewise. 2863 (rs6000_expand_ternop_builtin): Likewise; also add missing 2864 vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for 2865 vshasigma built-ins. 2866 * doc/extend.texi: Document that vec_xxpermdi's third argument 2867 must be a constant. 2868 28692017-04-11 Pat Haugen <pthaugen@us.ibm.com> 2870 2871 Backport from mainline 2872 2017-04-07 Pat Haugen <pthaugen@us.ibm.com> 2873 2874 * rs6000/rs6000.c (vec_load_pendulum): Rename... 2875 (vec_pairing): ...to this. 2876 (power9_sched_reorder2): Rewrite code for pairing vector/vecload insns. 2877 (rs6000_sched_init): Adjust for name change. 2878 (struct rs6000_sched_context): Likewise. 2879 (rs6000_init_sched_context): Likewise. 2880 (rs6000_set_sched_context): Likewise. 2881 28822017-04-11 Martin Jambor <mjambor@suse.cz> 2883 2884 Backport from mainline 2885 2017-03-30 Martin Jambor <mjambor@suse.cz> 2886 2887 PR ipa/77333 2888 * cgraph.h (cgraph_build_function_type_skip_args): Declare. 2889 * cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that 2890 it reflects the signature changes performed at the callee side. 2891 * cgraphclones.c (build_function_type_skip_args): Make public, renamed 2892 to cgraph_build_function_type_skip_args. 2893 (build_function_decl_skip_args): Adjust call to the above function. 2894 28952017-04-08 Andreas Tobler <andreast@gcc.gnu.org> 2896 2897 Backport from mainline 2898 2017-04-08 Andreas Tobler <andreast@gcc.gnu.org> 2899 2900 * config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME. 2901 Add comment for WCHAR_T. 2902 29032017-04-07 Andreas Tobler <andreast@gcc.gnu.org> 2904 2905 Backport from mainline 2906 2017-04-07 Andreas Tobler <andreast@gcc.gnu.org> 2907 2908 * config/aarch64/aarch64-freebsd.h: Define WCHAR_T. 2909 29102017-04-07 Eric Botcazou <ebotcazou@adacore.com> 2911 2912 Backport from mainline 2913 2017-04-05 Eric Botcazou <ebotcazou@adacore.com> 2914 2915 PR target/78002 2916 * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Replace 2917 ptr_mode with Pmode throughout. 2918 * config/aarch64/aarch64.md (probe_stack_range_<PTR:mode): Rename 2919 into probe_stack_range and use DImode. 2920 29212017-04-07 Sebastian Huber <sebastian.huber@embedded-brains.de> 2922 2923 Backport from mainline 2924 2017-04-07 Sebastian Huber <sebastian.huber@embedded-brains.de> 2925 2926 * config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default 2927 definition. 2928 * config/arm/arm.c (arm_default_short_enums): Use 2929 ARM_DEFAULT_SHORT_ENUMS. 2930 * config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define. 2931 29322017-04-06 Uros Bizjak <ubizjak@gmail.com> 2933 2934 Backport from mainline 2935 2017-04-06 Uros Bizjak <ubizjak@gmail.com> 2936 2937 PR target/79733 2938 * config/i386/i386.c (ix86_expand_builtin) 2939 <case IX86_BUILTIN_KORTEST{C,Z}16>: Determine insn operand 2940 mode from insn data. Convert operands to insn operand mode. 2941 Copy operands that don't satisfy insn predicate to a register. 2942 2943 2017-04-05 Uros Bizjak <ubizjak@gmail.com> 2944 2945 PR target/80298 2946 * config/i386/mmintrin.h: Add -msse target option when __SSE__ is 2947 not defined for x86_64 target. Add -mmmx target option when __SSE2__ 2948 is not defined. 2949 * config/i386/mm3dnow.h: Add -msse target when __SSE__ is not defined 2950 for x86_64 target. 2951 29522017-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com> 2953 2954 PR target/80082 2955 * config/arm/arm-protos.h (FL_LPAE): Define macro. 2956 (FL_FOR_ARCH7VE): Add FL_LPAE. 2957 (arm_arch_lpae): Declare extern. 2958 * config/arm/arm.c (arm_arch_lpae): Declare. 2959 (arm_option_override): Define arm_arch_lpae. 2960 * config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of 2961 arm_arch_lpae. 2962 29632017-04-03 Michael Meissner <meissner@linux.vnet.ibm.com> 2964 2965 Back port from the trunk 2966 2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com> 2967 2968 PR target/79947 2969 * config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for 2970 -mpowerpc-gfxopt. 2971 29722017-03-31 Richard Sandiford <richard.sandiford@arm.com> 2973 2974 PR tree-optimization/80218 2975 * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): 2976 Update block frequencies and counts. 2977 29782017-03-30 Peter Bergner <bergner@vnet.ibm.com> 2979 2980 Backport from mainline 2981 2017-03-30 Peter Bergner <bergner@vnet.ibm.com> 2982 2983 PR target/80246 2984 * config/rs6000/dfp.md (dfp_dxex_<mode>): Update mode of operand 0. 2985 (dfp_diex_<mode>): Update mode of operand 1. 2986 * doc/extend.texi (dxex, dxexq): Document change to return type. 2987 (diex, diexq): Document change to argument type. 2988 29892017-03-29 Michael Meissner <meissner@linux.vnet.ibm.com> 2990 2991 Back port from trunk 2992 2017-03-21 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> 2993 2994 PR target/80123 2995 * doc/md.texi (Constraints): Document wA constraint. 2996 * config/rs6000/constraints.md (wA): New. 2997 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class. 2998 (rs6000_init_hard_regno_mode_ok): Init wA constraint. 2999 * config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New. 3000 * config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint. 3001 3002 2017-03-16 Michael Meissner <meissner@linux.vnet.ibm.com> 3003 3004 PR target/71294 3005 * config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a 3006 SPLAT operation on ISA 2.07 64-bit systems that have direct move, 3007 but no MTVSRDD support, by doing MTVSRD and XXPERMDI. 3008 30092017-03-29 Richard Biener <rguenther@suse.de> 3010 3011 Backport from mainline 3012 2017-03-28 Richard Biener <rguenther@suse.de> 3013 3014 PR tree-optimization/78644 3015 * tree-ssa-ccp.c (evaluate_stmt): When we may not use the value 3016 of a simplification result we may not use it at all. 3017 3018 2017-03-27 Richard Biener <rguenther@suse.de> 3019 3020 PR tree-optimization/80181 3021 * tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED. 3022 30232017-03-28 Marek Polacek <polacek@redhat.com> 3024 3025 Backport from mainline 3026 2017-03-28 Marek Polacek <polacek@redhat.com> 3027 3028 PR sanitizer/80067 3029 * fold-const.c (fold_comparison): Use protected_set_expr_location 3030 instead of SET_EXPR_LOCATION. 3031 30322017-03-27 Michael Meissner <meissner@linux.vnet.ibm.com> 3033 3034 Back port from trunk 3035 2017-03-27 Michael Meissner <meissner@linux.vnet.ibm.com> 3036 3037 PR target/78543 3038 * config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap 3039 HImode and SImode with zero extend to DImode to one insn. 3040 (bswap<mode>2_extenddi): Likewise. 3041 (bswapsi2_extenddi): Likewise. 3042 (bswaphi2_extendsi): Likewise. 3043 (bswaphi2): Combine bswap HImode and SImode into one insn. 3044 Separate memory insns from swapping register. 3045 (bswapsi2): Likewise. 3046 (bswap<mode>2): Likewise. 3047 (bswaphi2_internal): Delete, no longer used. 3048 (bswapsi2_internal): Likewise. 3049 (bswap<mode>2_load): Split bswap HImode/SImode into separate load, 3050 store, and gpr<-gpr swap insns. 3051 (bswap<mode>2_store): Likewise. 3052 (bswaphi2_reg): Register only splitter, combine with the splitter. 3053 (bswaphi2 splitter): Likewise. 3054 (bswapsi2_reg): Likewise. 3055 (bswapsi2 splitter): Likewise. 3056 (bswapdi2): If we have the LDBRX and STDBRX instructions, split 3057 the insns into load, store, and register/register insns. 3058 (bswapdi2_ldbrx): Likewise. 3059 (bswapdi2_load): Likewise. 3060 (bswapdi2_store): Likewise. 3061 (bswapdi2_reg): Likewise. 3062 30632017-03-25 Uros Bizjak <ubizjak@gmail.com> 3064 3065 PR target/80180 3066 * config/i386/i386.c (ix86_expand_builtin) 3067 <IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between 3068 flags reg setting and flags reg using instructions. 3069 <IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto. Use non-flags reg 3070 clobbering instructions to zero extend op2. 3071 30722017-03-22 Martin Liska <mliska@suse.cz> 3073 3074 Backport from mainline 3075 2017-03-14 Martin Liska <mliska@suse.cz> 3076 3077 PR lto/66295 3078 * multiple_target.c (expand_target_clones): Drop local.local 3079 flag for default implementation. 3080 30812017-03-22 Martin Liska <mliska@suse.cz> 3082 3083 Backport from mainline 3084 2017-02-22 Martin Liska <mliska@suse.cz> 3085 3086 PR lto/79587 3087 * data-streamer-in.c (streamer_read_gcov_count): Remove assert. 3088 * data-streamer-out.c (streamer_write_gcov_count_stream): 3089 Likewise. 3090 * value-prof.c (stream_out_histogram_value): Make assert more 3091 precise based on type of counter. 3092 30932017-03-22 Martin Liska <mliska@suse.cz> 3094 3095 Backport from mainline 3096 2017-02-03 Martin Liska <mliska@suse.cz> 3097 3098 PR lto/66295 3099 * multiple_target.c (create_dispatcher_calls): Redirect edge 3100 from a caller of a dispatcher. 3101 (expand_target_clones): Make the clones local. 3102 (ipa_target_clone): Do both target clones and resolvers. 3103 (ipa_dispatcher_calls): Remove the pass. 3104 (pass_dispatcher_calls::gate): Likewise. 3105 (make_pass_dispatcher_calls): Likewise. 3106 * passes.def (pass_target_clone): Put as very first IPA early 3107 pass. 3108 31092017-03-22 Martin Liska <mliska@suse.cz> 3110 3111 Backport from mainline 3112 2017-03-22 Martin Liska <mliska@suse.cz> 3113 3114 PR target/79906 3115 * config/rs6000/rs6000.c (rs6000_inner_target_options): Show 3116 error message instead of an ICE. 3117 31182017-03-22 Martin Liska <mliska@suse.cz> 3119 3120 Backport from mainline 3121 2017-03-21 Martin Liska <mliska@suse.cz> 3122 3123 PR gcov-profile/80081 3124 * Makefile.in: Add gcov-dump and fix installation of gcov-tool. 3125 * doc/gcc.texi: Include gcov-dump stuff. 3126 * doc/gcov-dump.texi: New file. 3127 31282017-03-22 Martin Liska <mliska@suse.cz> 3129 3130 Backport from mainline 3131 2017-03-20 Martin Liska <mliska@suse.cz> 3132 3133 PR middle-end/79753 3134 * tree-chkp.c (chkp_build_returned_bound): Do not build 3135 returned bounds for a LHS that's not a BOUNDED_P type. 3136 31372017-03-22 Martin Liska <mliska@suse.cz> 3138 3139 Backport from mainline 3140 2017-03-20 Martin Liska <mliska@suse.cz> 3141 3142 PR target/79769 3143 PR target/79770 3144 * tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST, 3145 COMPLEX_CST and VECTOR_CST. 3146 31472017-03-22 Martin Liska <mliska@suse.cz> 3148 3149 Backport from mainline 3150 2017-03-14 Martin Liska <mliska@suse.cz> 3151 3152 PR middle-end/79831 3153 * doc/invoke.texi (-Wchkp): Document the option. 3154 31552017-03-22 Martin Liska <mliska@suse.cz> 3156 3157 Backport from mainline 3158 2017-03-14 Martin Liska <mliska@suse.cz> 3159 3160 PR target/79892 3161 * multiple_target.c (create_dispatcher_calls): Check that 3162 a target can create a function dispatcher. 3163 31642017-03-22 Martin Liska <mliska@suse.cz> 3165 3166 Backport from mainline 3167 2017-03-13 Martin Liska <mliska@suse.cz> 3168 3169 PR middle-end/78339 3170 * ipa-pure-const.c (warn_function_noreturn): If the declarations 3171 is a CHKP clone, use original declaration. 3172 31732017-03-22 Martin Liska <mliska@suse.cz> 3174 3175 Backport from mainline 3176 2017-03-10 Martin Liska <mliska@suse.cz> 3177 3178 PR target/65705 3179 PR target/69804 3180 * toplev.c (process_options): Enable MPX with LSAN and UBSAN. 3181 * tree-chkp.c (chkp_walk_pointer_assignments): Verify that 3182 FIELD != NULL. 3183 31842017-03-22 Martin Liska <mliska@suse.cz> 3185 3186 Backport from mainline 3187 2017-03-09 Martin Liska <mliska@suse.cz> 3188 3189 PR tree-optimization/79631 3190 * tree-chkp-opt.c (chkp_is_constant_addr): Call 3191 tree_int_cst_sign_bit just for INTEGER constants. 3192 31932017-03-22 Martin Liska <mliska@suse.cz> 3194 3195 Backport from mainline 3196 2017-03-09 Martin Liska <mliska@suse.cz> 3197 3198 PR target/65705 3199 PR target/69804 3200 * toplev.c (process_options): Disable -fcheck-pointer-bounds with 3201 sanitizers. 3202 32032017-03-22 Martin Liska <mliska@suse.cz> 3204 3205 Backport from mainline 3206 2017-03-09 Martin Liska <mliska@suse.cz> 3207 3208 PR ipa/79761 3209 * tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param. 3210 (chkp_find_bounds_1): Remove gcc_unreachable. 3211 32122017-03-22 Martin Liska <mliska@suse.cz> 3213 3214 Backport from mainline 3215 2017-03-03 Jan Hubicka <jh@suse.cz> 3216 3217 PR lto/79760 3218 * ipa-devirt.c (maybe_record_node): Properly handle 3219 __cxa_pure_virtual visibility. 3220 32212017-03-22 Martin Liska <mliska@suse.cz> 3222 3223 Backport from mainline 3224 2017-03-03 Martin Liska <mliska@suse.cz> 3225 3226 PR tree-optimization/79803 3227 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove 3228 assert. 3229 (pass_loop_prefetch::execute): Disabled optimization if an 3230 assumption about L1 cache size is not met. 3231 32322017-03-22 Martin Liska <mliska@suse.cz> 3233 3234 Backport from mainline 3235 2017-03-03 Martin Liska <mliska@suse.cz> 3236 3237 PR rtl-optimization/79574 3238 * gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int. 3239 (hash_scan_set): Likewise. 3240 (dump_hash_table): Likewise. 3241 (hoist_code): Likewise. 3242 32432017-03-22 Martin Liska <mliska@suse.cz> 3244 3245 Backport from mainline 3246 2017-02-17 Martin Liska <mliska@suse.cz> 3247 3248 PR rtl-optimization/79574 3249 * gcse.c (want_to_gcse_p): Prevent integer overflow. 3250 32512017-03-22 Martin Liska <mliska@suse.cz> 3252 3253 Backport from mainline 3254 2017-02-17 Martin Liska <mliska@suse.cz> 3255 3256 PR rtl-optimization/79577 3257 * params.def (selsched-max-sched-times): Increase minimum to 1. 3258 32592017-03-22 Martin Liska <mliska@suse.cz> 3260 3261 Backport from mainline 3262 2016-06-13 Martin Liska <mliska@suse.cz> 3263 3264 PR sanitizer/71458 3265 * toplev.c (process_options): Do not enable -fcheck-pointer-bounds 3266 w/ -fsanitize=bounds. 3267 32682017-03-21 Pat Haugen <pthaugen@us.ibm.com> 3269 3270 Backport from mainline: 3271 2017-03-17 Pat Haugen <pthaugen@us.ibm.com> 3272 3273 PR target/79951 3274 * config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test 3275 for VECTOR_UNIT_VSX_P (<MODE>mode) too. 3276 32772017-03-21 Tamar Christina <tamar.christina@arm.com> 3278 3279 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>) 3280 Change ins into fmov. 3281 32822017-03-19 Dominique d'Humieres <dominiq@lps.ens.fr> 3283 3284 PR target/71017 3285 * config/i386/cpuid.h: Fix another undefined behavior. 3286 32872017-03-17 Tom de Vries <tom@codesourcery.com> 3288 3289 backport from trunk: 3290 2017-03-17 Tom de Vries <tom@codesourcery.com> 3291 3292 * gcov-dump.c (print_usage): Print bug_report_url. 3293 32942017-03-16 Richard Biener <rguenther@suse.de> 3295 3296 Backport from mainline 3297 2017-02-28 Richard Biener <rguenther@suse.de> 3298 3299 PR tree-optimization/79732 3300 * tree-inline.c (expand_call_inline): Handle anonymous 3301 SSA lhs properly when inlining a function without return 3302 value. 3303 33042017-03-15 Matthias Klose <doko@ubuntu.com> 3305 3306 Backport from mainline 3307 2017-03-14 Martin Liska <mliska@suse.cz> 3308 3309 * Makefile.in: Install gcov-dump. 3310 33112017-03-15 Uros Bizjak <ubizjak@gmail.com> 3312 3313 PR target/80019 3314 * config/i386/i386.c (ix86_vector_duplicate_value): Create 3315 subreg of inner mode for values already in registers. 3316 33172017-03-14 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> 3318 3319 Backport from mainline 3320 2017-02-28 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> 3321 3322 PR target/79752 3323 * config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit 3324 udiv rather than div since input pattern is unsigned. 3325 33262017-03-14 Richard Biener <rguenther@suse.de> 3327 3328 Backport from mainline 3329 2016-05-02 Jakub Jelinek <jakub@redhat.com> 3330 3331 PR middle-end/80004 3332 PR target/49244 3333 * gimple.c (gimple_builtin_call_types_compatible_p): Allow 3334 char/short arguments promoted to int because of promote_prototypes. 3335 3336 2017-03-09 Richard Biener <rguenther@suse.de> 3337 3338 PR tree-optimization/79977 3339 * graphite-scop-detection.c (scop_detection::merge_sese): 3340 Handle the case of extra exits to blocks dominating the entry. 3341 3342 2017-03-09 Richard Biener <rguenther@suse.de> 3343 3344 PR middle-end/79971 3345 * gimple-expr.c (useless_type_conversion_p): Preserve 3346 TYPE_SATURATING for fixed-point types. 3347 3348 2017-02-22 Richard Biener <rguenther@suse.de> 3349 3350 PR tree-optimization/79666 3351 * tree-vrp.c (extract_range_from_binary_expr_1): Make sure 3352 to not symbolically negate if that may introduce undefined 3353 overflow. 3354 3355 2017-02-17 Richard Biener <rguenther@suse.de> 3356 3357 PR middle-end/79576 3358 * params.def (max-ssa-name-query-depth): Limit to 10. 3359 33602017-03-07 Uros Bizjak <ubizjak@gmail.com> 3361 3362 Backport from mainline 3363 2017-03-07 Segher Boessenkool <segher@kernel.crashing.org> 3364 3365 * config/i386/i386.c (ix86_local_alignment): Align most aggregates 3366 of 16 bytes and more to 16 bytes, not those of 16 bits and more. 3367 33682017-03-06 John David Anglin <danglin@gcc.gnu.org> 3369 3370 PR target/77850 3371 * config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and 3372 vector types. 3373 33742017-03-06 Michael Meissner <meissner@linux.vnet.ibm.com> 3375 3376 Back port from trunk 3377 2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com> 3378 3379 PR target/79439 3380 * config/rs6000/predicates.md (current_file_function_operand): Do 3381 not allow self calls to be local if the function is replaceable. 3382 33832017-03-02 Uros Bizjak <ubizjak@gmail.com> 3384 3385 PR target/79514 3386 * config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern. 3387 33882017-03-01 Pat Haugen <pthaugen@us.ibm.com> 3389 3390 Backport from mainline: 3391 2017-02-27 Pat Haugen <pthaugen@us.ibm.com> 3392 3393 PR target/79544 3394 * rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD for 3395 arithmetic shift of unsigned V2DI. 3396 33972017-03-01 Martin Jambor <mjambor@suse.cz> 3398 3399 Backport from mainline 3400 2017-02-21 Martin Jambor <mjambor@suse.cz> 3401 3402 PR lto/79579 3403 * ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges 3404 have been analyzed. 3405 34062017-02-28 Eric Botcazou <ebotcazou@adacore.com> 3407 3408 PR target/79749 3409 * config/sparc/sparc.c (sparc_frame_pointer_required): Add missing 3410 condition on optimize for the leaf function test. 3411 34122017-02-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 3413 3414 Backport from mainline 3415 2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 3416 3417 PR target/79261 3418 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add 3419 support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be. 3420 * config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call 3421 generator for vsx_xxpermdi_<mode>_be. 3422 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to 3423 force big-endian semantics. 3424 (vsx_xxpermdi_<mode>_be): New define_expand with same 3425 implementation as previous version of vsx_xxpermdi_<mode>. 3426 34272017-02-20 Marek Polacek <polacek@redhat.com> 3428 3429 Backport from mainline 3430 2017-02-20 Marek Polacek <polacek@redhat.com> 3431 3432 PR middle-end/79537 3433 * gimplify.c (gimplify_expr): Handle unused *&&L;. 3434 3435 PR sanitizer/79558 3436 * ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null. 3437 34382017-02-20 Marek Polacek <polacek@redhat.com> 3439 3440 Backport from mainline 3441 2017-02-17 Marek Polacek <polacek@redhat.com> 3442 3443 PR middle-end/79536 3444 * fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr. 3445 (fold_negate_expr): New wrapper. 3446 34472017-02-17 Carl Love <cel@us.ibm.com> 3448 3449 Backport from mainline commit r245460 on 2017-02-14 3450 3451 PR 79545 3452 * config/rs6000/rs6000.c: Add case statement entry to make the xvcvuxdsp 3453 built-in argument unsigned. 3454 * config/rs6000/vsx.md: Fix the source and return operand types so they 3455 match the instruction definitions from the ISA document. Fix typo 3456 in the instruction generation for the (define_insn "vsx_xvcvuxdsp" 3457 statement. 3458 34592017-01-17 Julia Koval <julia.koval@intel.com> 3460 3461 PR target/76731 3462 * config/i386/avx512fintrin.h 3463 (_mm512_i32gather_ps): Change __addr type to void const*. 3464 (_mm512_mask_i32gather_ps): Ditto. 3465 (_mm512_i32gather_pd): Ditto. 3466 (_mm512_mask_i32gather_pd): Ditto. 3467 (_mm512_i64gather_ps): Ditto. 3468 (_mm512_mask_i64gather_ps): Ditto. 3469 (_mm512_i64gather_pd): Ditto. 3470 (_mm512_mask_i64gather_pd): Ditto. 3471 (_mm512_i32gather_epi32): Ditto. 3472 (_mm512_mask_i32gather_epi32): Ditto. 3473 (_mm512_i32gather_epi64): Ditto. 3474 (_mm512_mask_i32gather_epi64): Ditto. 3475 (_mm512_i64gather_epi32): Ditto. 3476 (_mm512_mask_i64gather_epi32): Ditto. 3477 (_mm512_i64gather_epi64): Ditto. 3478 (_mm512_mask_i64gather_epi64): Ditto. 3479 (_mm512_i32scatter_ps): Change __addr type to void*. 3480 (_mm512_mask_i32scatter_ps): Ditto. 3481 (_mm512_i32scatter_pd): Ditto. 3482 (_mm512_mask_i32scatter_pd): Ditto. 3483 (_mm512_i64scatter_ps): Ditto. 3484 (_mm512_mask_i64scatter_ps): Ditto. 3485 (_mm512_i64scatter_pd): Ditto. 3486 (_mm512_mask_i64scatter_pd): Ditto. 3487 (_mm512_i32scatter_epi32): Ditto. 3488 (_mm512_mask_i32scatter_epi32): Ditto. 3489 (_mm512_i32scatter_epi64): Ditto. 3490 (_mm512_mask_i32scatter_epi64): Ditto. 3491 (_mm512_i64scatter_epi32): Ditto. 3492 (_mm512_mask_i64scatter_epi32): Ditto. 3493 (_mm512_i64scatter_epi64): Ditto. 3494 (_mm512_mask_i64scatter_epi64): Ditto. 3495 * config/i386/avx512pfintrin.h 3496 (_mm512_mask_prefetch_i32gather_pd): Change addr type to void const*. 3497 (_mm512_mask_prefetch_i32gather_ps): Ditto. 3498 (_mm512_mask_prefetch_i64gather_pd): Ditto. 3499 (_mm512_mask_prefetch_i64gather_ps): Ditto. 3500 (_mm512_prefetch_i32scatter_pd): Change addr type to void*. 3501 (_mm512_prefetch_i32scatter_ps): Ditto. 3502 (_mm512_mask_prefetch_i32scatter_pd): Ditto. 3503 (_mm512_mask_prefetch_i32scatter_ps): Ditto. 3504 (_mm512_prefetch_i64scatter_pd): Ditto. 3505 (_mm512_prefetch_i64scatter_ps): Ditto. 3506 (_mm512_mask_prefetch_i64scatter_pd): Ditto. 3507 (_mm512_mask_prefetch_i64scatter_ps): Ditto. 3508 * config/i386/avx512vlintrin.h 3509 (_mm256_mmask_i32gather_ps): Change __addr type to void const*. 3510 (_mm_mmask_i32gather_ps): Ditto. 3511 (_mm256_mmask_i32gather_pd): Ditto. 3512 (_mm_mmask_i32gather_pd): Ditto. 3513 (_mm256_mmask_i64gather_ps): Ditto. 3514 (_mm_mmask_i64gather_ps): Ditto. 3515 (_mm256_mmask_i64gather_pd): Ditto. 3516 (_mm_mmask_i64gather_pd): Ditto. 3517 (_mm256_mmask_i32gather_epi32): Ditto. 3518 (_mm_mmask_i32gather_epi32): Ditto. 3519 (_mm256_mmask_i32gather_epi64): Ditto. 3520 (_mm_mmask_i32gather_epi64): Ditto. 3521 (_mm256_mmask_i64gather_epi32): Ditto. 3522 (_mm_mmask_i64gather_epi32): Ditto. 3523 (_mm256_mmask_i64gather_epi64): Ditto. 3524 (_mm_mmask_i64gather_epi64): Ditto. 3525 (_mm256_i32scatter_ps): Change __addr type to void*. 3526 (_mm256_mask_i32scatter_ps): Ditto. 3527 (_mm_i32scatter_ps): Ditto. 3528 (_mm_mask_i32scatter_ps): Ditto. 3529 (_mm256_i32scatter_pd): Ditto. 3530 (_mm256_mask_i32scatter_pd): Ditto. 3531 (_mm_i32scatter_pd): Ditto. 3532 (_mm_mask_i32scatter_pd): Ditto. 3533 (_mm256_i64scatter_ps): Ditto. 3534 (_mm256_mask_i64scatter_ps): Ditto. 3535 (_mm_i64scatter_ps): Ditto. 3536 (_mm_mask_i64scatter_ps): Ditto. 3537 (_mm256_i64scatter_pd): Ditto. 3538 (_mm256_mask_i64scatter_pd): Ditto. 3539 (_mm_i64scatter_pd): Ditto. 3540 (_mm_mask_i64scatter_pd): Ditto. 3541 (_mm256_i32scatter_epi32): Ditto. 3542 (_mm256_mask_i32scatter_epi32): Ditto. 3543 (_mm_i32scatter_epi32): Ditto. 3544 (_mm_mask_i32scatter_epi32): Ditto. 3545 (_mm256_i32scatter_epi64): Ditto. 3546 (_mm256_mask_i32scatter_epi64): Ditto. 3547 (_mm_i32scatter_epi64): Ditto. 3548 (_mm_mask_i32scatter_epi64): Ditto. 3549 (_mm256_i64scatter_epi32): Ditto. 3550 (_mm256_mask_i64scatter_epi32): Ditto. 3551 (_mm_i64scatter_epi32): Ditto. 3552 (_mm_mask_i64scatter_epi32): Ditto. 3553 (_mm256_i64scatter_epi64): Ditto. 3554 (_mm256_mask_i64scatter_epi64): Ditto. 3555 (_mm_i64scatter_epi64): Ditto. 3556 (_mm_mask_i64scatter_epi64): Ditto. 3557 * config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT) 3558 (V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT) 3559 (V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT) 3560 (V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT) 3561 (V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT) 3562 (V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT) 3563 (V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT) 3564 (V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT) 3565 (V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT) 3566 (V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT) 3567 (V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT) 3568 (V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT) 3569 (V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT) 3570 (VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT) 3571 (VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT) 3572 (VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT) 3573 (VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT) 3574 (VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT) 3575 (VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT) 3576 (VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT) 3577 (VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT) 3578 (VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT) 3579 (VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT) 3580 (VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT) 3581 (VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT) 3582 (VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT) 3583 (VOID_QI_V8DI_PCINT_INT_INT): Remove. 3584 (V16SF_V16SF_PCVOID_V16SI_HI_INT, V8DF_V8DF_PCVOID_V8SI_QI_INT) 3585 (V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT) 3586 (V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT) 3587 (V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT) 3588 (VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT) 3589 (VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT) 3590 (VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT) 3591 (VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT) 3592 (V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT) 3593 (V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT 3594 (V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT) 3595 (V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT) 3596 (V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT) 3597 (V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT) 3598 (V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT) 3599 (V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT) 3600 (VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT) 3601 (VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT) 3602 (VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT) 3603 (VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT) 3604 (VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT) 3605 (VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT) 3606 (VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT) 3607 (VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT) 3608 (VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT) 3609 (VOID_QI_V8DI_PCVOID_INT_INT): Add. 3610 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin 3611 definitions accordingly. 3612 36132017-02-16 Jakub Jelinek <jakub@redhat.com> 3614 3615 Backported from mainline 3616 2017-02-09 Marek Polacek <polacek@redhat.com> 3617 3618 PR c/79428 3619 * c-parser.c (c_parser_omp_ordered): Call c_parser_skip_to_pragma_eol 3620 instead of c_parser_skip_until_found. 3621 36222017-02-15 Jakub Jelinek <jakub@redhat.com> 3623 3624 Backported from mainline 3625 2017-02-10 Jakub Jelinek <jakub@redhat.com> 3626 3627 PR tree-optimization/79411 3628 * tree-ssa-reassoc.c (is_reassociable_op): Return false if 3629 stmt operands are SSA_NAMEs used in abnormal phis. 3630 (can_reassociate_p): Return false if op is SSA_NAME used in abnormal 3631 phis. 3632 3633 2017-02-09 Jakub Jelinek <jakub@redhat.com> 3634 3635 PR c/79431 3636 * gimplify.c (gimplify_adjust_omp_clauses): Ignore 3637 "omp declare target link" attribute unless is_global_var. 3638 * omp-low.c (find_link_var_op): Likewise. 3639 3640 2017-02-07 Jakub Jelinek <jakub@redhat.com> 3641 Richard Biener <rguenther@suse.de> 3642 3643 PR middle-end/79399 3644 * ira-int.h (struct target_ira_int): Change x_max_struct_costs_size 3645 type from int to size_t. 3646 * ira-costs.c (struct_costs_size): Change type from int to size_t. 3647 3648 2017-02-04 Jakub Jelinek <jakub@redhat.com> 3649 3650 PR tree-optimization/79338 3651 * tree-parloops.c (gather_scalar_reductions): Don't call 3652 vect_analyze_loop_form for loop->inner before destroying loop's 3653 loop_vinfo. 3654 3655 2017-02-02 Jakub Jelinek <jakub@redhat.com> 3656 3657 PR target/79197 3658 * config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ... 3659 (fixuns_trunc<mode>di2): ... this, remove previous expander. Put all 3660 conditions on a single line. 3661 3662 2017-01-31 Jakub Jelinek <jakub@redhat.com> 3663 3664 PR tree-optimization/79267 3665 * value-prof.c (gimple_ic): Only drop lhs for noreturn calls 3666 if should_remove_lhs_p is true. 3667 3668 2017-01-17 Kito Cheng <kito.cheng@gmail.com> 3669 Kuan-Lin Chen <kuanlinchentw@gmail.com> 3670 3671 PR target/79079 3672 * internal-fn.c (expand_mul_overflow): Use convert_modes instead of 3673 gen_lowpart. 3674 36752017-02-14 Uros Bizjak <ubizjak@gmail.com> 3676 3677 PR target/79495 3678 * config/i386/i386.md (*movxf_internal): Add (o,rC) alternative. 3679 36802017-02-14 Martin Liska <mliska@suse.cz> 3681 3682 Backport from mainline 3683 2017-02-13 Martin Liska <mliska@suse.cz> 3684 3685 PR c/79471 3686 * calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC. 3687 36882017-02-13 Gerald Pfeifer <gerald@pfeifer.com> 3689 3690 Backport from mainline 3691 2016-12-11 Roger Pau Monné <roger.pau@citrix.com> 3692 3693 * config/i386/x86-64.h: Append --32 to the assembler options when 3694 -m16 is used on non-glibc systems as well. 3695 36962017-02-08 Segher Boessenkool <segher@kernel.crashing.org> 3697 3698 PR translation/79397 3699 * config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling 3700 of AltiVec. 3701 37022017-02-08 Richard Biener <rguenther@suse.de> 3703 3704 Backport from mainline 3705 2017-02-08 Richard Biener <rguenther@suse.de> 3706 3707 PR tree-optimization/71824 3708 * graphite-scop-detection.c (scop_detection::build_scop_breadth): 3709 Check all loops contained in the merged region. 3710 3711 2017-02-01 Richard Biener <rguenther@suse.de> 3712 3713 PR tree-optimization/71824 3714 * graphite-scop-detection.c (scop_detection::build_scop_breadth): 3715 Verify the loops are valid in the merged SESE region. 3716 (scop_detection::can_represent_loop_1): Check analyzing the 3717 evolution of the number of iterations in the region succeeds. 3718 3719 2017-01-31 Richard Biener <rguenther@suse.de> 3720 3721 PR tree-optimization/77318 3722 * graphite-sese-to-poly.c (extract_affine): Fix assert. 3723 (create_pw_aff_from_tree): Take loop parameter. 3724 (add_condition_to_pbb): Pass loop of the condition to 3725 create_pw_aff_from_tree. 3726 37272017-02-06 Dominique d'Humieres <dominiq@lps.ens.fr> 3728 3729 PR target/71017 3730 * config/i386/cpuid.h: Fix undefined behavior. 3731 37322017-02-03 Carl Love <cel@us.ibm.com> 3733 3734 Backport of two commits from mainline, r244943 and r244904, 3735 dated 017-01-26 and 2017-01-25 respectively 3736 3737 * config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order 3738 of entries for ALTIVEC_BUILTIN_VEC_PACKS. Remove bogus entries 3739 for P8V_BUILTIN_VEC_VGBBD. 3740 37412017-02-03 Walter Lee <walt@tilera.com> 3742 3743 Backport from mainline 3744 2017-02-03 Walter Lee <walt@tilera.com> 3745 3746 PR target/78862 3747 * config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage 3748 after initial stackframe link reg save. 3749 * config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise. 3750 37512017-02-03 Maxim Ostapenko <m.ostapenko@samsung.com> 3752 3753 PR lto/79061 3754 * asan.c (asan_add_global): Force has_dynamic_init to zero in LTO mode. 3755 37562017-01-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 3757 3758 Backport from mainline 3759 2017-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 3760 3761 PR target/79268 3762 * config/rs6000/altivec.h (vec_xl): Revise #define. 3763 (vec_xst): Likewise. 3764 37652017-01-26 Eric Botcazou <ebotcazou@adacore.com> 3766 3767 Backport from mainline 3768 2017-01-10 Eric Botcazou <ebotcazou@adacore.com> 3769 3770 * expr.c (store_field): In the bitfield case, fetch the return value 3771 from the registers before applying a single big-endian adjustment. 3772 Always do a final load for a BLKmode value not larger than a word. 3773 3774 2017-01-09 Eric Botcazou <ebotcazou@adacore.com> 3775 3776 * expr.c (store_field): In the bitfield case, if the value comes from 3777 a function call and is of an aggregate type returned in registers, do 3778 not modify the field mode; extract the value in all cases if the mode 3779 is BLKmode and the size is not larger than a word. 3780 37812017-01-26 Richard Biener <rguenther@suse.de> 3782 3783 * tree-vrp.c (vrp_visit_assignment_or_call): Use set_defs_to_varying. 3784 3785 Backport from mainline 3786 2016-01-10 Richard Biener <rguenther@suse.de> 3787 3788 PR tree-optimization/79034 3789 * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): 3790 Propagate out degenerate PHIs in the joiner. 3791 3792 2016-12-13 Richard Biener <rguenther@suse.de> 3793 3794 PR middle-end/78742 3795 * tree.c (cst_and_fits_in_hwi): Look if the actual value fits. 3796 * tree-object-size.c (compute_builtin_object_size): Use 3797 tree_fits_shwi_p. 3798 * tree-data-ref.c (initialize_matrix_A): Remove excess assert. 3799 38002017-01-26 Richard Biener <rguenther@suse.de> 3801 3802 Backport from mainline 3803 2016-09-03 Kirill Yukhin <kirill.yukhin@intel.com> 3804 3805 * ubsan.c (ubsan_use_new_style_p): Fix check for empty string. 3806 38072017-01-24 Eric Botcazou <ebotcazou@adacore.com> 3808 3809 PR target/77439 3810 * config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction 3811 for long calls with APCS frame and VFP. 3812 38132017-01-24 Uros Bizjak <ubizjak@gmail.com> 3814 3815 PR target/78478 3816 Revert: 3817 2013-11-05 Uros Bizjak <ubizjak@gmail.com> 3818 3819 * config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define. 3820 38212017-01-23 Martin Liska <mliska@suse.cz> 3822 3823 Backport from mainline 3824 2017-01-20 Martin Liska <mliska@suse.cz> 3825 3826 PR lto/69188 3827 * tree-profile.c (init_ic_make_global_vars): Do not call 3828 finalize_decl. 3829 (gimple_init_gcov_profiler): Likewise. 3830 38312017-01-21 Gerald Pfeifer <gerald@pfeifer.com> 3832 3833 Backport from mainline 3834 2016-12-29 Gerald Pfeifer <gerald@pfeifer.com> 3835 3836 * doc/extend.texi (Cilk Plus Builtins): cilkplus.org now uses 3837 https by default. 3838 * doc/passes.texi (Cilk Plus Transformation): Ditto. 3839 * doc/generic.texi (Statements for C++): Ditto, and use @uref. 3840 38412017-01-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 3842 3843 Backport from mainline 3844 2017-01-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 3845 3846 * config/rs6000/rs6000.c (rtx_is_swappable_p): Change 3847 UNSPEC_VSX__XXSPLTD to require special splat handling. 3848 38492017-01-20 Wilco Dijkstra <wdijkstr@arm.com> 3850 3851 Backport from mainline 3852 PR target/77455 3853 * config/aarch64/aarch64.md (eh_return): Remove pattern and splitter. 3854 * config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove. 3855 (EH_RETURN_HANDLER_RTX): New define. 3856 * config/aarch64/aarch64.c (aarch64_frame_pointer_required): 3857 Force frame pointer in EH return functions. 3858 (aarch64_expand_epilogue): Add barrier for eh_return. 3859 (aarch64_final_eh_return_addr): Remove. 3860 (aarch64_eh_return_handler_rtx): New function. 3861 * config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr): 3862 Remove. 3863 (aarch64_eh_return_handler_rtx): New prototype. 3864 38652017-01-20 Richard Earnshaw <rearnsha@arm.com> 3866 3867 Backported from mainline 3868 2017-01-19 Richard Earnshaw <rearnsha@arm.com> 3869 3870 PR rtl-optimization/79121 3871 * expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness 3872 of the inner type when shifting an extended value. 3873 38742017-01-20 Martin Liska <mliska@suse.cz> 3875 3876 Backport from mainline 3877 2017-01-13 Martin Liska <mliska@suse.cz> 3878 3879 PR ipa/79043 3880 * function.c (set_cfun): Add new argument force. 3881 * function.h (set_cfun): Likewise. 3882 * ipa-inline-transform.c (inline_call): Use the function when 3883 strict alising from is dropped for function we inline to. 3884 38852017-01-20 Martin Liska <mliska@suse.cz> 3886 3887 Backport from mainline 3888 2017-01-17 Martin Liska <mliska@suse.cz> 3889 3890 PR ipa/71207 3891 * ipa-polymorphic-call.c (contains_type_p): Fix wrong 3892 assumption and add comment. 3893 38942017-01-19 Richard Biener <rguenther@suse.de> 3895 3896 PR tree-optimization/72488 3897 * tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make 3898 sure to restore SSA info. 3899 39002017-01-17 Jakub Jelinek <jakub@redhat.com> 3901 3902 PR debug/78839 3903 * dwarf2out.c (field_byte_offset): Restore the 3904 PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET 3905 and DECL_FIELD_BIT_OFFSET. Use fold_build2 instead of build2 + fold. 3906 (analyze_variants_discr, gen_variant_part): Use fold_build2 instead 3907 of build2 + fold. 3908 39092017-01-17 Thomas Preud'homme <thomas.preudhomme@arm.com> 3910 3911 Backport from mainline 3912 2016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com> 3913 3914 PR rtl-optimization/78617 3915 * lra-remat.c (do_remat): Initialize live_hard_regs from live in 3916 registers, also setting hard registers mapped to pseudo registers. 3917 39182017-01-13 Christophe Lyon <christophe.lyon@linaro.org> 3919 3920 Backport from mainline r244320. 3921 2017-01-11 Christophe Lyon <christophe.lyon@linaro.org> 3922 3923 PR target/78253 3924 * config/arm/arm.c (legitimize_pic_address): Handle reference to 3925 weak symbol. 3926 (arm_assemble_integer): Likewise. 3927 39282017-01-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 3929 3930 Backport from mainline 3931 2017-01-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 3932 3933 PR target/79044 3934 * config/rs6000/rs6000.c (insn_is_swappable_p): Mark 3935 element-reversing loads and stores as not swappable. 3936 39372017-01-11 Uros Bizjak <ubizjak@gmail.com> 3938 3939 * config/i386/i386.c (memory_address_length): Increase len 3940 only when rip_relative_addr_p returns false. 3941 39422017-01-11 Maxim Ostapenko <m.ostapenko@samsung.com> 3943 3944 Backport from mainline 3945 2017-01-11 Maxim Ostapenko <m.ostapenko@samsung.com> 3946 3947 PR lto/79042 3948 * lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized 3949 bit. 3950 (input_varpool_node): Unpack dynamically_initialized bit. 3951 * lto-streamer.h (LTO_minor_version): Bump version. 3952 39532017-01-10 Michael Meissner <meissner@linux.vnet.ibm.com> 3954 3955 Backport from mainline 3956 2016-12-30 Michael Meissner <meissner@linux.vnet.ibm.com> 3957 3958 PR target/78900 3959 * config/rs6000/rs6000.c (rs6000_split_signbit): Change some 3960 assertions. Add support for doing the signbit if the IEEE 128-bit 3961 floating point value is in a GPR. 3962 * config/rs6000/rs6000.md (Fsignbit): Delete. 3963 (signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa". 3964 Update the length attribute if the value is in a GPR. 3965 (signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate 3966 the sign or zero extension instruction, since the value is always 3967 0/1. 3968 (signbit<mode>2_dm2): Delete using <Fsignbit>. 3969 39702017-01-10 Martin Liska <mliska@suse.cz> 3971 3972 Backport from mainline 3973 2017-01-09 Martin Liska <mliska@suse.cz> 3974 3975 PR pch/78970 3976 * gcc.c (driver_handle_option): Handle OPT_E and set 3977 have_E. 3978 (lookup_compiler): Do not show error message with have_E. 3979 39802017-01-10 Martin Liska <mliska@suse.cz> 3981 3982 Backport from mainline 3983 2017-01-05 Martin Liska <mliska@suse.cz> 3984 3985 PR pch/78970 3986 * gcc.c (lookup_compiler): Reject '-' filename for a precompiled 3987 header. 3988 39892017-01-10 Thomas Schwinge <thomas@codesourcery.com> 3990 3991 PR tree-optimization/78024 3992 * omp-low.c (oacc_loop_discovery): Call clear_bb_flags. 3993 3994 Backport trunk r239086: 3995 2016-08-03 Nathan Sidwell <nathan@codesourcery.com> 3996 3997 * config/nvptx/nvptx.c (nvptx_declare_function_name): Round frame 3998 size to DImode boundary. 3999 (nvptx_propagate): Likewise. 4000 40012017-01-10 Chung-Ju Wu <jasonwucj@gmail.com> 4002 4003 Backport from mainline 4004 2016-04-28 Segher Boessenkool <segher@kernel.crashing.org> 4005 4006 PR target/70668 4007 * config/nds32/nds32.md (casesi): Don't access the operands array 4008 out of bounds. 4009 40102017-01-09 Andreas Tobler <andreast@gcc.gnu.org> 4011 4012 Backport from mainline 4013 2016-10-10 Andreas Tobler <andreast@gcc.gnu.org> 4014 4015 * config.gcc: Add aarch64-*-freebsd* support. 4016 * config.host: Likewise. 4017 * config/aarch64/aarch64-freebsd.h: New file. 4018 * config/aarch64/t-aarch64-freebsd: Ditto. 4019 40202017-01-09 Bill Seurer <seurer@linux.vnet.ibm.com> 4021 4022 Backport from mainline 4023 2016-12-21 Bill Seurer <seurer@linux.vnet.ibm.com> 4024 4025 PR sanitizer/65479 4026 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add 4027 -fasynchronous-unwind-tables option when -fsanitize=address is 4028 specified. 4029 40302017-01-09 Andreas Tobler <andreast@gcc.gnu.org> 4031 4032 Backport from mainline 4033 2016-09-19 Richard Biener <rguenther@suse.de> 4034 4035 * dwarf2out.c (dwarf2out_late_global_decl): When being during the 4036 early debug phase do not add locations but only const value 4037 attributes. 4038 4039 Backport from mainline 4040 2016-10-20 Richard Biener <rguenther@suse.de> 4041 4042 * cgraphunit.c (analyze_functions): Set node->definition to 4043 false to signal symbol removal to debug_hooks->late_global_decl. 4044 40452017-01-09 Andre Vieira <andre.simoesdiasvieira@arm.com> 4046 4047 Backport from mainline 4048 2016-12-09 Andre Vieira <andre.simoesdiasvieira@arm.com> 4049 4050 PR rtl-optimization/78255 4051 * gcc/postreload.c (reload_cse_simplify): Do not CSE a function if 4052 NO_FUNCTION_CSE is true. 4053 40542017-01-06 Wilco Dijkstra <wdijkstr@arm.com> 4055 4056 Backport from mainline 4057 2016-10-25 Wilco Dijkstra <wdijkstr@arm.com> 4058 4059 PR target/78041 4060 * config/arm/neon.md (ashldi3_neon): Add "r 0 i" and "&r r i" variants. 4061 Remove partial overlap check for shift by 1. 4062 (ashldi3_neon): Likewise. 4063 40642017-01-05 Kelvin Nilsen <kelvin@gcc.gnu.org> 4065 4066 Backport from mainline 4067 2016-07-22 Kelvin Nilsen <kelvin@gcc.gnu.org> 4068 4069 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add 4070 comments to explain why certain error messages make mention of 4071 undocumented options. 4072 (rs6000_invalid_builtin): Change error messages to replace mention 4073 of undocumented options with mention of the -mcpu=power9 option 4074 that enables those undocumented options. 4075 * config/rs6000/rs6000.h: Add macro definition of MASK_FLOAT128 4076 and change the macro definition of RS6000_BTM_FLOAT128 to correct 4077 an error that was discovered during the development of this patch. 4078 * config/rs6000/rs6000.opt: Add the Undocumented qualifier to the 4079 mpower9-fusion, mpower9-vector, mpower9-dform, and mmodulo entries. 4080 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Modify 4081 descriptions of built-in functions so that they depend on 4082 -mcpu=power9 instead of on the corresponding undocumented flags. 4083 * doc/invoke.texi (Option Summary): Remove all mention of newly 4084 undocumented flags. 4085 (IBM RS/6000 and PowerPC Options): Likewise. 4086 * doc/md.texi (Constraints for Particuliar Machines): Remove all 4087 mention of newly undocumented flags. 4088 40892017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4090 4091 Backport from mainline 4092 2016-12-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4093 4094 * varasm.c (build_constant_desc): Use the alignment of the var 4095 decl instead of the original expression. 4096 40972017-01-04 Richard Biener <rguenther@suse.de> 4098 4099 Backport from mainline 4100 2016-05-11 Richard Biener <rguenther@suse.de> 4101 4102 PR tree-optimization/71055 4103 * tree-ssa-sccvn.c (vn_reference_lookup_3): When native-interpreting 4104 sth with precision not equal to access size verify we don't chop 4105 off bits. 4106 41072017-01-03 Martin Liska <mliska@suse.cz> 4108 4109 Backport from mainline 4110 2016-12-21 Jakub Jelinek <jakub@redhat.com> 4111 Martin Liska <mliska@suse.cz> 4112 4113 PR driver/78863 4114 * gcc.c (driver::build_option_suggestions): Do not add 4115 -fsanitize=all as a suggestion candidate. 4116 41172017-01-03 Martin Liska <mliska@suse.cz> 4118 4119 Backport from mainline 4120 2016-12-22 Martin Liska <mliska@suse.cz> 4121 4122 PR tree-optimization/78886 4123 * tree-ssa-strlen.c (handle_builtin_malloc): Return when LHS 4124 is equal to NULL. 4125 41262017-01-03 Martin Liska <mliska@suse.cz> 4127 4128 Backport from mainline 4129 2016-12-13 Martin Liska <mliska@suse.cz> 4130 4131 PR tree-optimization/78428 4132 * expr.c (store_constructor_field): Add new arguments to the 4133 function. 4134 (store_constructor): Set up bitregion_end and add 4135 gcc_unreachable to fields that have either non-constant size 4136 or (and) offset. 4137 41382016-12-27 Jakub Jelinek <jakub@redhat.com> 4139 4140 PR translation/78922 4141 * config/i386/stringop.opt: Remove. 4142 41432016-12-21 Jakub Jelinek <jakub@redhat.com> 4144 4145 Backported from mainline 4146 2016-12-13 Jakub Jelinek <jakub@redhat.com> 4147 4148 PR ipa/77905 4149 * ipa-pure-const.c (cdtor_p): Return true for 4150 DECL_STATIC_{CON,DE}STRUCTOR even when it is 4151 DECL_LOOPING_CONST_OR_PURE_P. 4152 41532016-12-21 Jakub Jelinek <jakub@redhat.com> 4154 4155 * BASE-VER: Set to 6.3.1. 4156 41572016-12-21 Release Manager 4158 4159 * GCC 6.3.0 released. 4160 41612016-12-14 Uros Bizjak <ubizjak@gmail.com> 4162 4163 PR target/59874 4164 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_CLZS 4165 and IX86_BUILTIN_CTZS. 4166 (bdesc_args): Add __builtin_clzs and __builtin_ctzs. 4167 (ix86_fold_builtin): Handle IX86_BUILTIN_CTZS and IX86_BUILTIN_CLZS. 4168 41692016-12-14 Wilco Dijkstra <wdijkstr@arm.com> 4170 Jakub Jelinek <jakub@redhat.com> 4171 4172 PR target/78796 4173 * config/aarch64/aarch64.c (aarch64_classify_symbol): Merge large 4174 model checks into switch. 4175 41762016-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com> 4177 4178 Backport from mainline 4179 2016-11-25 Thomas Preud'homme <thomas.preudhomme@arm.com> 4180 4181 * tree-ssa-math-opts.c (struct symbolic_number): Improve comment. 4182 41832016-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com> 4184 4185 Backport from mainline 4186 2016-11-25 Thomas Preud'homme <thomas.preudhomme@arm.com> 4187 4188 PR tree-optimization/77673 4189 * tree-ssa-math-opts.c (struct symbolic_number): Add new src field. 4190 (init_symbolic_number): Initialize src field from src parameter. 4191 (perform_symbolic_merge): Select most dominated statement as the 4192 source statement. Set src field of resulting n structure from the 4193 input src with the lowest address. 4194 (find_bswap_or_nop): Rename source_stmt into ins_stmt. 4195 (bswap_replace): Rename src_stmt into ins_stmt. Initially get source 4196 of load from src field rather than insertion statement. Cancel 4197 optimization if statement analyzed is not dominated by the insertion 4198 statement. 4199 (pass_optimize_bswap::execute): Rename src_stmt to ins_stmt. Compute 4200 dominance information. 4201 42022016-12-13 Michael Meissner <meissner@linux.vnet.ibm.com> 4203 4204 Backport from mainline 4205 2016-12-07 Michael Meissner <meissner@linux.vnet.ibm.com> 4206 4207 PR target/72717 4208 * config/rs6000/rs6000.c (rs6000_expand_vector_init): If the 4209 V2DImode elements are SUBREG's convert the result into DImode 4210 rather than failing in emit_move_insn. 4211 42122016-12-13 Iain Sandoe <iain@codesourcery.com> 4213 4214 Backport from mainline 4215 2016-12-11 Iain Sandoe <iain@codesourcery.com> 4216 4217 PR rtl-optimization/71496 4218 * config/rs6000/darwin.md (load_macho_picbase_si): Mark as non- 4219 copyable. (load_macho_picbase_di, reload_macho_picbase_si, 4220 reload_macho_picbase_di): Likewise. 4221 42222016-12-12 Bernd Schmidt <bschmidt@redhat.com> 4223 4224 Backport from mainline 4225 2016-11-07 Bernd Schmidt <bschmidt@redhat.com> 4226 4227 PR rtl-optimization/77309 4228 * combine.c (make_compound_operation): Allow EQ for IN_CODE, and 4229 don't assume an equality comparison for plain COMPARE. 4230 (simplify_comparison): Pass a more accurate code to 4231 make_compound_operation. 4232 42332016-12-12 Thomas Preud'homme <thomas.preudhomme@arm.com> 4234 4235 Backport from mainline 4236 2016-11-22 Thomas Preud'homme <thomas.preudhomme@arm.com> 4237 4238 PR target/77904 4239 * config/arm/arm.c (thumb1_compute_save_reg_mask): Mark frame pointer 4240 in save register mask if it is needed. 4241 42422016-12-11 Iain Sandoe <iain@codesourcery.com> 4243 4244 Backport from mainline 4245 2016-11-27 Iain Sandoe <iain@codesourcery.com> 4246 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4247 4248 PR target/67710 4249 * config.in: Regenerate 4250 * config/darwin-driver.c (darwin_driver_init): Emit a version string 4251 for the assembler. 4252 * config/darwin.h(ASM_MMACOSX_VERSION_MIN_SPEC): New, new tests. 4253 * config/darwin.opt(asm_macosx_version_min): New. 4254 * config/i386/darwin.h: Handle ASM_MMACOSX_VERSION_MIN_SPEC. 4255 * configure: Regenerate 4256 * configure.ac: Check for mmacosx-version-min handling. 4257 42582016-12-11 Iain Sandoe <iain@codesourcery.com> 4259 4260 Backport from mainline 4261 2016-11-27 Iain Sandoe <iain@codesourcery.com> 4262 4263 PR target/57438 4264 * config/i386/i386.c (ix86_code_end): Note that we emitted code 4265 where the function might otherwise appear empty for picbase thunks. 4266 (ix86_output_function_epilogue): If we find a zero-sized function 4267 assume that reaching it is UB and trap. If we find a trailing label 4268 append a nop. 4269 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): If we 4270 find a zero-sized function assume that reaching it is UB and trap. 4271 If we find a trailing label, append a nop. 4272 42732016-12-11 Iain Sandoe <iain@codesourcery.com> 4274 4275 Backport from mainline 4276 2016-11-27 Iain Sandoe <iain@codesourcery.com> 4277 4278 PR target/71767 4279 * config/darwin-sections.def (picbase_thunk_section): New. 4280 * config/darwin.c (darwin_init_sections): Set up picbase thunk 4281 section. (darwin_rodata_section, darwin_objc2_section, 4282 machopic_select_section, darwin_asm_declare_constant_name, 4283 darwin_emit_weak_or_comdat, darwin_function_section): Don’t use 4284 coalesced with newer linkers. 4285 (darwin_override_options): Decide on usage of coalesed sections 4286 on the basis of the target linker version. 4287 * config/darwin.h (MIN_LD64_NO_COAL_SECTS): New. 4288 * config/darwin.opt (mtarget-linker): New. 4289 * config/i386/i386.c (ix86_code_end): Do not force the thunks into 4290 a coalesced section, instead use a thunks section. 4291 4292 Backport from mainline 4293 2016-11-28 Iain Sandoe <iain@codesourcery.com> 4294 4295 PR target/71767 4296 * configure.ac (with_ld64): Use portable method to extract the 4297 major part of the version number. 4298 * configure: Regenerated. 4299 4300 Backport from mainline 4301 2016-11-27 Iain Sandoe <iain@codesourcery.com> 4302 4303 PR target/71767 4304 * configure.ac (with-ld64): New var, set for Darwin, set on 4305 detection of ld64, gcc_cv_ld64_export_dynamic: New, New test. 4306 * config/darwin.h: Use LD64_HAS_DYNAMIC export. DEF_LD64: New, 4307 define. 4308 * config/darwin10.h(DEF_LD64): Update for this target version. 4309 * config/darwin12.h(LINK_GCC_C_SEQUENCE_SPEC): Remove rdynamic 4310 test. (DEF_LD64): Update for this target version. 4311 * configure: Regenerated. 4312 * config.in: Regenerated. 4313 4314 Backport from mainline 4315 2016-11-27 Iain Sandoe <iain@codesourcery.com> 4316 4317 PR target/71767 4318 * config/darwin.c (imachopic_indirection_name): Make data 4319 section indirections linker-visible. 4320 * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Make local 4321 constant labels linker-visible. 4322 43232016-12-09 Thomas Preud'homme <thomas.preudhomme@arm.com> 4324 4325 Backport from mainline 4326 2016-11-17 Thomas Preud'homme <thomas.preudhomme@arm.com> 4327 4328 PR target/77933 4329 * config/arm/arm.c (thumb1_expand_prologue): Distinguish between lr 4330 being live in the function and lr needing to be saved. Distinguish 4331 between already saved pushable registers and registers to push. 4332 Check for LR being an available pushable register. 4333 43342016-12-09 Nathan Sidwell <nathan@acm.org> 4335 4336 PR C++/78550 4337 * convert.c (convert_to_integer_1): Maybe fold conversions to 4338 integral types with fewer bits than its mode. 4339 43402016-12-09 Richard Biener <rguenther@suse.de> 4341 4342 Backport from mainline 4343 2016-11-09 Richard Biener <rguenther@suse.de> 4344 4345 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): 4346 Look at the DR_BASE_ADDRESS object for forcing alignment. 4347 4348 2016-11-07 Richard Biener <rguenther@suse.de> 4349 4350 PR tree-optimization/78189 4351 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Fix 4352 alignment computation. 4353 43542016-12-09 Richard Biener <rguenther@suse.de> 4355 4356 Backport from mainline 4357 2016-11-28 Richard Biener <rguenther@suse.de> 4358 4359 PR tree-optimization/78542 4360 * tree-ssa-ccp.c (evaluate_stmt): Only valueize simplification 4361 if allowed. 4362 4363 2016-11-23 Richard Biener <rguenther@suse.de> 4364 4365 PR tree-optimization/78482 4366 * tree-cfgcleanup.c: Include tree-ssa-loop-niter.h. 4367 (remove_forwarder_block_with_phi): When merging with a loop 4368 header creates a new latch reset number of iteration information 4369 of the loop. 4370 4371 2016-11-23 Richard Biener <rguenther@suse.de> 4372 4373 PR middle-end/71762 4374 * match.pd ((~X & Y) -> X < Y, (X & ~Y) -> Y < X, 4375 (~X | Y) -> X <= Y, (X | ~Y) -> Y <= X): Remove. 4376 4377 2016-11-11 Richard Biener <rguenther@suse.de> 4378 4379 PR tree-optimization/71575 4380 * graphite-isl-ast-to-gimple.c (copy_cond_phi_nodes): Remove 4381 bogus assert. 4382 4383 2016-11-07 Richard Biener <rguenther@suse.de> 4384 4385 PR tree-optimization/78224 4386 * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): 4387 Split the fallthru edge in case its successor may have PHIs. 4388 4389 2016-11-05 David Edelsohn <dje.gcc@gmail.com> 4390 Richard Biener <rguenther@suse.de> 4391 4392 PR bootstrap/78188 4393 PR c++/71848 4394 * ipa-comdats.c (pass_ipa_comdats::gate): Require HAVE_COMDAT_GROUP. 4395 4396 2016-09-20 Richard Biener <rguenther@suse.de> 4397 4398 PR tree-optimization/77646 4399 * tree-ssa-sccvn.c (visit_reference_op_call): Always value-number 4400 a VDEF. 4401 44022016-12-07 Segher Boessenkool <segher@kernel.crashing.org> 4403 4404 Backport from mainline 4405 2016-11-12 Segher Boessenkool <segher@kernel.crashing.org> 4406 4407 PR target/77957 4408 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't 4409 return early if !optional_tbtab. 4410 44112016-12-07 Jakub Jelinek <jakub@redhat.com> 4412 4413 Backported from mainline 4414 2016-11-28 Jakub Jelinek <jakub@redhat.com> 4415 4416 PR middle-end/78540 4417 * rtl.h (remove_reg_equal_equiv_notes): Return bool instead of void. 4418 * rtlanal.c (remove_reg_equal_equiv_notes): Return true if any 4419 note has been removed. 4420 * postreload.c (reload_combine_recognize_pattern): If 4421 remove_reg_equal_equiv_notes returns true, call df_notes_rescan. 4422 4423 PR rtl-optimization/78546 4424 * simplify-rtx.c (neg_const_int): When negating most negative 4425 number in mode wider than HOST_BITS_PER_WIDE_INT, use 4426 simplify_const_unary_operation to produce CONST_DOUBLE or 4427 CONST_WIDE_INT. 4428 (simplify_plus_minus): Hanlde the case where neg_const_int 4429 doesn't return a CONST_INT. 4430 4431 PR fortran/78298 4432 * tree-nested.c (convert_local_reference_stmt): After adding 4433 shared (FRAME.NN) clause to omp parallel, task or target, 4434 add it also to all outer omp parallel, task or target constructs. 4435 4436 2016-11-23 Jakub Jelinek <jakub@redhat.com> 4437 4438 PR middle-end/69183 4439 * omp-low.c (build_outer_var_ref): Change lastprivate argument 4440 to code, pass it recursively, adjust uses. For OMP_CLAUSE_PRIVATE 4441 on worksharing constructs, treat it like clauses on simd construct. 4442 Formatting fix. 4443 (lower_rec_input_clauses): For OMP_CLAUSE_PRIVATE_OUTER_REF pass 4444 OMP_CLAUSE_PRIVATE as last argument to build_outer_var_ref. 4445 (lower_lastprivate_clauses): Pass OMP_CLAUSE_LASTPRIVATE instead 4446 of true as last argument to build_outer_var_ref. 4447 4448 2016-11-22 Jakub Jelinek <jakub@redhat.com> 4449 4450 PR middle-end/78416 4451 * expmed.c (expand_divmod): Use wide_int for computation of 4452 op1_is_pow2. Don't set it if op1 is 0. Formatting fixes. 4453 Use size <= HOST_BITS_PER_WIDE_INT instead of 4454 HOST_BITS_PER_WIDE_INT >= size. 4455 4456 2016-11-21 Jakub Jelinek <jakub@redhat.com> 4457 4458 PR middle-end/67335 4459 * omp-simd-clone.c (simd_clone_adjust_argument_types): Use NULL prefix 4460 for tmp simd array if DECL_NAME (parm) is NULL. 4461 4462 2016-11-18 Jakub Jelinek <jakub@redhat.com> 4463 4464 PR middle-end/78419 4465 * multiple_target.c (get_attr_len): Start with argnum and increment 4466 argnum on every arg. Use strchr in a loop instead of counting commas 4467 manually. 4468 (get_attr_str): Increment argnum for every comma in the string. 4469 (separate_attrs): Use for instead of while loop, simplify. 4470 (expand_target_clones): Rename defenition argument to definition. 4471 Free attrs and attr_str even when diagnosing errors. Temporarily 4472 change input_location around targetm.target_option.valid_attribute_p 4473 calls. Don't emit warning or errors if that function fails. 4474 4475 2016-11-16 Jakub Jelinek <jakub@redhat.com> 4476 4477 PR rtl-optimization/78378 4478 * combine.c (make_extraction): Use force_to_mode for non-{REG,MEM} 4479 inner only if pos is 0. Fix up formatting. 4480 4481 PR fortran/78299 4482 * omp-low.c (expand_omp_for_static_nochunk): Don't assert 4483 that loop->header == body_bb if broken_loop. 4484 4485 2016-11-07 Jakub Jelinek <jakub@redhat.com> 4486 4487 PR target/77834 4488 * dse.c (dse_step5): Call scan_reads even if just 4489 insn_info->frame_read. Improve and fix dump file messages. 4490 4491 PR target/78227 4492 * config/i386/i386.c (ix86_expand_sse_cmp): Force dest into 4493 cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp. 4494 4495 2016-11-04 Jakub Jelinek <jakub@redhat.com> 4496 4497 PR target/77834 4498 * alias.c (nonoverlapping_memrefs_p): Return 0 if exprx or expry 4499 doesn't have rtl set. 4500 4501 2016-10-29 Jakub Jelinek <jakub@redhat.com> 4502 4503 PR rtl-optimization/77919 4504 * expr.c (expand_expr_real_1) <normal_inner_ref>: Only avoid forcing 4505 into memory if both modes are complex and their inner modes have the 4506 same precision. If the two modes are different complex modes, convert 4507 each part separately and generate a new CONCAT. 4508 4509 2016-10-28 Jakub Jelinek <jakub@redhat.com> 4510 4511 PR rtl-optimization/77919 4512 * expr.c (expand_expr_real_1) <normal_inner_ref>: Force CONCAT into 4513 MEM if mode1 is not a complex mode. 4514 4515 2016-10-27 Jakub Jelinek <jakub@redhat.com> 4516 4517 PR middle-end/78025 4518 * omp-simd-clone.c (simd_clone_adjust): Handle noreturn declare simd 4519 functions. 4520 4521 2016-10-26 Jakub Jelinek <jakub@redhat.com> 4522 Martin Liska <mliska@suse.cz> 4523 4524 PR fortran/77973 4525 * gimplify.c (gimplify_adjust_omp_clauses_1): For all added map 4526 clauses with OMP_CLAUSE_SIZE being a decl, call omp_notice_variable 4527 on outer context if any. 4528 4529 2016-10-05 Jakub Jelinek <jakub@redhat.com> 4530 4531 PR sanitizer/66343 4532 * ubsan.c (ubsan_ids): New GTY(()) array. 4533 (ubsan_type_descriptor, ubsan_create_data): Use ubsan_ids 4534 instead of static local counters. 4535 4536 2016-09-22 Jakub Jelinek <jakub@redhat.com> 4537 4538 PR fortran/77665 4539 * tree-inline.c (remap_gimple_stmt): Set has_simduid_loops 4540 for all IFN_GOMP_SIMD_* internal fns, not just for 4541 IFN_GOMP_SIMD_ORDERED_*. 4542 4543 2016-09-20 Jakub Jelinek <jakub@redhat.com> 4544 4545 PR middle-end/77624 4546 * builtins.c (fold_builtin_atomic_always_lock_free): Only look through 4547 cast to void * if the cast is from some other pointer type. 4548 4549 2016-09-19 Jakub Jelinek <jakub@redhat.com> 4550 Jan Hubicka <jh@suse.cz> 4551 4552 PR target/77587 4553 * cgraph.c (cgraph_node::rtl_info): Pass &avail to 4554 ultimate_alias_target call, return NULL if avail < AVAIL_AVAILABLE. 4555 Call ultimate_alias_target just once, not up to 4 times. 4556 45572016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com> 4558 4559 Backport from mainline 4560 2016-11-16 Thomas Preud'homme <thomas.preudhomme@arm.com> 4561 4562 * config/arm/arm.md (arm_addsi3): Add alternative for addition of 4563 general register with general register or ARM constant into SP 4564 register. 4565 45662016-12-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 4567 4568 Backport from mainline 4569 2016-12-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 4570 Stefan Freudenberger <stefan@reservoir.com> 4571 4572 PR tree-optimization/78646 4573 * gimple-ssa-strength-reduction.c (replace_ref): The pointer 4574 addition used for the memory base expression should have the type 4575 of the candidate. 4576 45772016-12-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 4578 4579 Backport from mainline 4580 2016-09-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 4581 Michael Meissner <meissner@linux.vnet.ibm.com> 4582 4583 PR target/72827 4584 * config/rs6000/rs6000.c (rs6000_legitimize_address): Avoid 4585 reg+reg addressing for TImode. 4586 (rs6000_legitimate_address_p): Only allow register indirect 4587 addressing for TImode, even without TARGET_QUAD_MEMORY. 4588 45892016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4590 4591 Backport from mainline 4592 2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4593 4594 * config/s390/s390-modes.def (CCVEQANY, CCVH, CCVHANY, CCVHU) 4595 (CCVHUANY): Remove modes. 4596 (CCVIH, CCVIHU, CCVIALL, CCVIANY, CCVFALL, CCVFANY): Add modes and 4597 documentation. 4598 * config/s390/s390.c (s390_match_ccmode_set): Rename cc modes. 4599 (s390_expand_vec_compare_scalar): Pick one of the cc consumer 4600 modes. 4601 (s390_branch_condition_mask): Adjust to use the new cc consumer 4602 modes. The new modes allow for proper reversal in the middle-end. 4603 (s390_expand_vec_compare_cc): Determine the proper cc producer and 4604 consumer modes for a comparison. 4605 * config/s390/s390.md: Rename CCVH to CCVIH and CCVHU to CCVIHU 4606 throughout the file. 4607 * config/s390/vx-builtins.md: Likewise. 4608 46092016-12-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 4610 4611 Backport from mainline 4612 2016-12-01 Alan Modra <amodra@gmail.com> 4613 4614 * gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly 4615 look inside UNSPEC_VSX_XXSPLTW vec. 4616 46172016-12-01 Michael Meissner <meissner@linux.vnet.ibm.com> 4618 4619 Back port from trunk 4620 2016-11-17 Michael Meissner <meissner@linux.vnet.ibm.com> 4621 4622 PR target/78101 4623 * config/rs6000/predicates.md (fusion_addis_mem_combo_load): Add 4624 the appropriate checks for SFmode/DFmode load/stores in GPR 4625 registers. 4626 (fusion_addis_mem_combo_store): Likewise. 4627 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Rename 4628 fusion_fpr_* to fusion_vsx_* and add in support for ISA 3.0 scalar 4629 d-form instructions for traditional Altivec registers. 4630 (emit_fusion_p9_load): Likewise. 4631 (emit_fusion_p9_store): Likewise. 4632 * config/rs6000/rs6000.md (p9 fusion store peephole2): Remove 4633 early clobber from scratch register. Do not match if the register 4634 being stored is the scratch register. 4635 (fusion_vsx_<P:mode>_<FPR_FUSION:mode>_load): Rename fusion_fpr_* 4636 to fusion_vsx_* and add in support for ISA 3.0 scalar d-form 4637 instructions for traditional Altivec registers. 4638 (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise. 4639 (fusion_vsx_<P:mode>_<FPR_FUSION:mode>_store): Likewise. 4640 (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise. 4641 46422016-12-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 4643 4644 Backport from mainline 4645 2016-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 4646 4647 PR target/48863 4648 PR inline-asm/70184 4649 * tree-ssa-ter.c (temp_expr_table): Add reg_vars_cnt field. 4650 (new_temp_expr_table): Initialise reg_vars_cnt. 4651 (free_temp_expr_table): Release reg_vars_cnt. 4652 (process_replaceable): Add reg_vars_cnt argument, set reg_vars_cnt 4653 field of TAB. 4654 (find_replaceable_in_bb): Use the above to record register variable 4655 write occurrences and cancel replacement across them. 4656 46572016-11-29 Kaz Kojima <kkojima@gcc.gnu.org> 4658 4659 Backported from mainline 4660 2016-11-19 Kaz Kojima <kkojima@gcc.gnu.org> 4661 4662 PR target/78426 4663 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Use copy_to_mode_reg 4664 instead of force_reg. 4665 (sh_expand_setmem): Likewise. 4666 46672016-11-24 Eric Botcazou <ebotcazou@adacore.com> 4668 4669 PR middle-end/78429 4670 * tree.h (wi::fits_to_boolean_p): New predicate. 4671 (wi::fits_to_tree_p): Use it for boolean types. 4672 * tree.c (int_fits_type_p): Likewise. 4673 46742016-11-24 Martin Liska <mliska@suse.cz> 4675 4676 Backported from mainline 4677 2016-11-22 Martin Liska <mliska@suse.cz> 4678 4679 PR ipa/78309 4680 * ipa-icf.c (void sem_item::set_hash): Update m_hash_set. 4681 (sem_function::get_hash): Use the new field. 4682 (sem_function::parse): Remove an argument from ctor. 4683 (sem_variable::parse): Likewise. 4684 (sem_variable::get_hash): Use the new field. 4685 (sem_item_optimizer::read_section): Use new ctor and set hash. 4686 * ipa-icf.h: _hash is removed from sem_item::sem_item, 4687 sem_variable::sem_variable, sem_function::sem_function. 4688 46892016-11-23 Uros Bizjak <ubizjak@gmail.com> 4690 4691 * config/i386/i386.md (*<any_or:code>hi_1): Fix operand 2 constraints. 4692 (kxnor<mode>): Return "#" for alternative 0. 4693 46942016-11-23 Richard Biener <rguenther@suse.de> 4695 4696 Backport from mainline 4697 2016-11-23 Richard Biener <rguenther@suse.de> 4698 4699 PR lto/78472 4700 * tree.c (gimple_canonical_types_compatible_p): Ignore zero-sized 4701 fields. 4702 4703 2016-11-17 Richard Biener <rguenther@suse.de> 4704 4705 PR middle-end/78305 4706 * fold-const.c (negate_expr_p): Fix multiplication case. 4707 4708 2016-11-16 Richard Biener <rguenther@suse.de> 4709 4710 PR middle-end/78333 4711 * gimplify.c (gimplify_function_tree): Do not instrument 4712 GNU extern inline functions. 4713 4714 2016-11-07 Richard Biener <rguenther@suse.de> 4715 4716 PR tree-optimization/78228 4717 * tree-ssa-phiopt.c (abs_replacement): Avoid introducing 4718 undefined behavior. 4719 4720 2016-11-04 Richard Biener <rguenther@suse.de> 4721 4722 PR middle-end/78185 4723 * loop-invariant.c (find_exits): Record entering inner 4724 loops as possibly exiting to handle infinite sub-loops. 4725 * tree-ssa-loop-im.c: Include tree-ssa-loop-niter.h. 4726 (fill_always_executed_in_1): Honor infinite child loops. 4727 4728 2016-10-06 Richard Biener <rguenther@suse.de> 4729 4730 PR tree-optimization/77855 4731 * tree-ssa-pre.c (prune_clobbered_mems): Queue exprs to remove 4732 instead of removing the current item while iterating over the set 4733 which is not safe. 4734 47352016-11-22 Walter Lee <walt@tilera.com> 4736 4737 Backport from mainline 4738 2016-11-22 Walter Lee <walt@tilera.com> 4739 4740 * config/tilegx/tilegx.md (trap): New pattern. 4741 * config/tilepro/tilepro.md (trap): Likewise. 4742 47432016-11-22 Walter Lee <walt@tilera.com> 4744 4745 Backport from mainline 4746 2016-11-22 Walter Lee <walt@tilera.com> 4747 4748 * config/tilegx/tilegx.md (*zero_extract): Use 4749 define_insn_and_split instead of define_insn; Handle pos + size > 4750 64. 4751 (*sign_extract): Likewise. 4752 47532016-11-22 Uros Bizjak <ubizjak@gmail.com> 4754 4755 * Makefile.in ($(lang_checks_parallelized)): Fix detection 4756 of -j argument. 4757 47582016-11-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 4759 4760 Backport from mainline 4761 2016-11-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 4762 4763 PR target/77822 4764 * config/aarch64/aarch64.md (*tb<optab><mode>1): Use 4765 aarch64_simd_shift_imm_<mode> predicate for operand 1. 4766 (<optab>, ANY_EXTRACT): Use tighter predicates on operands 2 and 3 4767 to restrict them to an appropriate range and add FAIL check if the 4768 region they specify is out of range. Delete useless constraint 4769 strings. 4770 (*<optab><mode>, ANY_EXTRACT): Add appropriate predicates on operands 4771 2 and 3 to restrict their range and add pattern predicate. 4772 47732016-11-18 Walter Lee <walt@tilera.com> 4774 4775 Backport from mainline 4776 2016-11-18 Walter Lee <walt@tilera.com> 4777 4778 * config/tilegx/tilegx.c (tilegx_gen_bundles): Preserve 4779 end-of-bundle marker for consecutive barriers. 4780 47812016-11-18 Walter Lee <walt@tilera.com> 4782 4783 Backport from mainline 4784 2016-11-18 Walter Lee <walt@tilera.com> 4785 4786 * config/tilegx/tilegx.md (clzsi2): Fix for big-endian. 4787 47882016-11-15 Matthias Klose <doko@ubuntu.com> 4789 4790 * doc/install.texi: Move the 'Overriding configure test results' 4791 subsub section to the 'Cross-Compiler-Specific Options' sub section. 4792 47932016-11-13 Eric Botcazou <ebotcazou@adacore.com> 4794 4795 * ipa-icf.c (sem_function::merge): Do not create a wrapper also if the 4796 original function needs a static chain. 4797 47982016-11-11 Uros Bizjak <ubizjak@gmail.com> 4799 4800 PR target/78310 4801 * config/i386/i386.md (rotate to rotatex splitter): Avoid overflow 4802 when calculating operand 2. 4803 (rotate to rotatex zext splitter): Ditto. 4804 48052016-11-11 Dominik Vogt <vogt@linux.vnet.ibm.com> 4806 4807 PR target/77822 4808 * config/s390/s390.md ("extzv", "*extzv<mode>_zEC12") 4809 ("*extzv<mode>_z10"): Check validity of zero_extend arguments. 4810 48112016-11-09 Uros Bizjak <ubizjak@gmail.com> 4812 4813 PR target/78262 4814 * config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark 4815 operand 0 as earlyclobber. 4816 (*ashl<mode>3_doubleword): Ditto for all operand 0 alternatives. 4817 48182016-11-07 Peter Bergner <bergner@vnet.ibm.com> 4819 4820 Backport from trunk 4821 2016-11-07 Peter Bergner <bergner@vnet.ibm.com> 4822 4823 * config.gcc (powerpc*-*-*, rs6000*-*-*): Remove setting of 4824 INCLUDE_EXTRA_SPEC for Advance Toolchain builds. 4825 48262016-11-06 Jack Howarth <howarth.at.gcc@gmail.com> 4827 4828 PR driver/78206 4829 * incpath.c: (remove_dup(): Also silently ignore EPERM. 4830 48312016-11-07 Richard Biener <rguenther@suse.de> 4832 4833 PR target/78229 4834 * config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust 4835 EH info. 4836 48372016-11-03 Martin Liska <mliska@suse.cz> 4838 4839 Backport from mainline 4840 2016-08-12 Martin Liska <mliska@suse.cz> 4841 Adam Fineman <afineman@afineman.com> 4842 4843 * gcov.c (process_file): Create .gcov file when .gcda 4844 file is missing. 4845 48462016-11-03 Richard Biener <rguenther@suse.de> 4847 4848 Backport from mainline 4849 2016-09-29 Richard Biener <rguenther@suse.de> 4850 4851 PR tree-optimization/77768 4852 * tree-ssa-sccvn.c (visit_reference_op_store): Properly deal 4853 with stores to a place we know has a constant value. 4854 * tree-vrp.c (set_defs_to_varying): New helper avoiding 4855 writing to vr_const_varying. 4856 (vrp_initialize): Call it. 4857 (vrp_visit_stmt): Likewise. 4858 (evrp_dom_walker::before_dom_children): Likewise. 4859 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): 4860 Handle stores to readonly memory when removing redundant stores. 4861 48622016-11-03 Eric Botcazou <ebotcazou@adacore.com> 4863 4864 Backport from mainline 4865 2016-10-17 Eric Botcazou <ebotcazou@adacore.com> 4866 4867 * explow.c (validize_mem): Do not modify the argument in-place. 4868 48692016-11-02 Will Schmidt <will_schmidt@vnet.ibm.com> 4870 4871 Backport from trunk 4872 2016-10-26 Will Schmidt <will_schmidt@vnet.ibm.com> 4873 4874 PR middle-end/72747 4875 * gimplify.c (gimplify_init_constructor): Move emit of constructor 4876 assignment to earlier in the if/else logic. 4877 48782016-11-02 Richard Biener <rguenther@suse.de> 4879 4880 Backport from mainline 4881 2016-11-02 Richard Biener <rguenther@suse.de> 4882 4883 PR tree-optimization/78047 4884 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize 4885 fake field at offset zero conservatively regarding to may_have_pointers. 4886 4887 2016-10-07 Richard Biener <rguenther@suse.de> 4888 4889 PR tree-optimization/77879 4890 * tree-ssa-structalias.c (handle_const_call): Properly handle 4891 NRV return slots. 4892 (handle_pure_call): Likewise. 4893 4894 2016-10-06 Richard Biener <rguenther@suse.de> 4895 4896 PR tree-optimization/77839 4897 * tree-ssa-sccvn.c (set_ssa_val_to): Forbid value -> constant value 4898 lattice transition. 4899 4900 2016-09-27 Richard Biener <rguenther@suse.de> 4901 4902 PR tree-optimization/77745 4903 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): 4904 When removing redundant stores make sure to check compatibility 4905 of the TBAA state for downstream accesses. 4906 * tree-ssa-sccvn.c (visit_reference_op_store): Likewise for when 4907 value-numbering virtual operands for store matches. 4908 4909 2016-09-21 Richard Biener <rguenther@suse.de> 4910 4911 PR tree-optimization/77648 4912 * tree-ssa-structalias.c (process_constraint): Handle all DEREF 4913 with complex RHS. 4914 (make_transitive_closure_constraints): Adjust comment. 4915 (make_any_offset_constraints): New function. 4916 (handle_rhs_call): Make sure to first expand a pointer to all 4917 subfields before transitively closing it. 4918 (handle_const_call): Likewise. Properly expand returned 4919 pointers as well. 4920 (handle_pure_call): Likewise. 4921 49222016-11-01 John David Anglin <danglin@gcc.gnu.org> 4923 4924 PR target/78166 4925 * config/pa/pa.md: Add new shift/add patterns to handle 4926 (plus (mult (reg) (mem_shadd_operand)) (reg)) source operand. 4927 49282016-11-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 4929 4930 Backport from mainline 4931 2016-10-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 4932 4933 PR rtl-optimization/78038 4934 * ree.c (get_defs): Return NULL if a defining insn for REG cannot 4935 be deduced to set REG through the RTL structure. 4936 (make_defs_and_copies_lists): Return false on a failing get_defs call. 4937 49382016-10-29 John David Anglin <danglin@gcc.gnu.org> 4939 4940 * config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment. 4941 (MALLOC_ABI_ALIGNMENT): Define. 4942 49432016-10-28 Richard Biener <rguenther@suse.de> 4944 4945 PR middle-end/78128 4946 PR middle-end/71002 4947 * fold-const.c (make_bit_field_ref): Only adjust alias set 4948 when the original alias set was zero. 4949 49502016-10-26 Uros Bizjak <ubizjak@gmail.com> 4951 4952 Backport from mainline 4953 2016-10-21 Jakub Jelinek <jakub@redhat.com> 4954 4955 PR target/78057 4956 * config/i386/i386.c: Include fold-const-call.h, tree-vrp.h 4957 and tree-ssanames.h. 4958 (ix86_fold_builtin): Fold IX86_BUILTIN_[LT]ZCNT{16,32,64} 4959 with INTEGER_CST argument. 4960 (ix86_gimple_fold_builtin): New function. 4961 (TARGET_GIMPLE_FOLD_BUILTIN): Define. 4962 4963 Backport from mainline 4964 2016-10-20 Uros Bizjak <ubizjak@gmail.com> 4965 4966 PR target/78037 4967 * config/i386/bmiintrin.h (__tzcnt_u16): Call __builtin_ia32_tzcnt_u16. 4968 (__tzcnt_u32, _tzcnt_u32): Call __builtin_ia32_tzcnt_u32. 4969 (__tzcnt_u64, _tzcnt_u64): Call __builtin_ia32_tzcnt_u64. 4970 * config/i386/lzcntintrin.h (__lzcnt_u16): Call 4971 __builtin_ia32_lzcnt_u16. 4972 (__lzcnt_u32, _lzcnt_u32): Call __builtin_ia32_lzcnt_u32. 4973 (__lzcnt_u64, _lzcnt_u64): Call __builtin_ia32_lzcnt_u64. 4974 * config/i386/i386.md (UNSPEC_LZCNT, UNSPEC_TZCNT): New unspecs. 4975 (ctz<mode>2, *ctz<mode>2): Use SWI48 mode iterator. 4976 (bmi_tzcnt_<mode>): New expander. 4977 (*bmi_tzcnt_<mode>_falsedep_1): New define_insn_and_split pattern. 4978 (*bmi_tzcnt_<mode>_falsedep, *bmi_tzcnt_<mode>): New insn patterns. 4979 (clz<mode>2_lzcnt, *clz<mode>2_lzcnt): Use SWI48 mode iterator. 4980 (lzcnt_<mode>): New expander. 4981 (*lzcnt_<mode>_falsedep_1): New define_insn_and_split pattern. 4982 (*lzcnt_<mode>_falsedep, *lzcnt_<mode>): New insn patterns. 4983 * config/i386/i386-builtin-types.def (UINT_FTYPE_UINT): New. 4984 (UINT64_FTYPE_UINT64): New. 4985 * config/i386/i386-builtin.def (__builtin_clzs): Remove description. 4986 (__builtin_ia32_lzcnt_u16): New description. 4987 (__builtin_ia32_lzcnt_u32): Ditto. 4988 (__builtin_ia32_lzcnt_u64): Ditto. 4989 (__builtin_ctzs): Remove description. 4990 (__builtin_ia32_tzcnt_u16): New description. 4991 (__builtin_ia32_tzcnt_u32): Ditto. 4992 (__builtin_ia32_tzcnt_u64): Ditto. 4993 * config/i386/i386.c (ix86_expand_args_builtin): Handle 4994 UINT_FTYPE_UINT and UINT64_FTYPE_UINT64. 4995 49962016-10-25 Eric Botcazou <ebotcazou@adacore.com> 4997 4998 * tree.h (wi::fits_to_tree_p): Accept only 0 and 1 for boolean types. 4999 * tree.c (int_fits_type_p): Likewise. Adjust head comment. 5000 50012016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de> 5002 5003 Backport from mainline 5004 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de> 5005 5006 PR tree-optimization/77550 5007 * tree-vect-stmts.c (create_array_ref): Change parameters. 5008 (get_group_alias_ptr_type): New function. 5009 (vectorizable_store, vectorizable_load): Use get_group_alias_ptr_type. 5010 50112016-10-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5012 5013 Backport from mainline 5014 2016-10-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5015 5016 PR tree-optimization/77916 5017 * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge): 5018 Don't allow a MINUS_EXPR for pointer arithmetic for either known 5019 or unknown strides. 5020 (record_increment): Increments of -1 for unknown strides just use 5021 a multiply initializer like other negative values. 5022 (analyze_increments): Remove stopgap solution for -1 increment 5023 applied to pointer arithmetic. 5024 (insert_initializers): Requirement of initializer for -1 should be 5025 based on pointer-typedness of the candidate basis. 5026 50272016-10-23 Eric Botcazou <ebotcazou@adacore.com> 5028 5029 * config/sparc/sparc.md (cpu_feature): Minor tweak. 5030 (enabled): Likewise. 5031 (movsi_insn, movdi_insn_sp32, movdi_insn_sp64, movsf_insn, 5032 movdf_insn_sp32, movdf_insn_sp64, zero_extendsidi2_insn_sp64, 5033 sign_extendsidi2_insn, mov<VM32:mode>_insn, mov<VM64:mode>_insn_sp64, 5034 mov<VM64:mode>_insn_sp32, not_<code><mode>, nand<mode>_vis, 5035 <code>_not1<mode>_vi, <code>_not2<mode>_vis, one_cmpl<mode>2, 5036 fcmp<code><GCM:gcm_name>, pdistn<mode>_vis): Likewise. 5037 50382016-10-23 Eric Botcazou <ebotcazou@adacore.com> 5039 5040 * config/sparc/sparc-c.c (sparc_target_macros): Replace TARGET_64BIT 5041 with TARGET_ARCH64. Define __VIS to 0x400 if TARGET_VIS4. 5042 50432016-10-19 Uros Bizjak <ubizjak@gmail.com> 5044 5045 PR target/77991 5046 * config/i386/i386.c (legitimize_tls_address) 5047 <case TLS_MODEL_INITIAL_EXEC>: For TARGET_64BIT || TARGET_ANY_GNU_TLS 5048 convert dest to Pmode if different than Pmode. 5049 50502016-10-18 Kugan Vivekanandarajah <kuganv@linaro.org> 5051 5052 Backport from mainline 5053 2016-10-11 Kugan Vivekanandarajah <kuganv@linaro.org> 5054 5055 * tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before 5056 copying. 5057 50582016-10-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5059 5060 Backport from mainline 5061 2016-10-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5062 5063 PR tree-optimization/77937 5064 * gimple-ssa-strength-reduction.c (analyze_increments): Use 5065 POINTER_TYPE_P on the candidate type to determine whether 5066 candidates in this chain require pointer arithmetic. 5067 5068 2016-10-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5069 5070 PR tree-optimization/77937 5071 * gimple-ssa-strength-reduction.c (analyze_increments): Set cost 5072 to infinite when we have a pointer with an increment of -1. 5073 50742016-10-17 Martin Liska <mliska@suse.cz> 5075 5076 Backported from mainline 5077 2016-10-13 Martin Liska <mliska@suse.cz> 5078 5079 PR tree-optimization/77943 5080 * tree-ssa-tail-merge.c (merge_stmts_p): Do not merge BBs with 5081 a different EH landing pads. 5082 50832016-10-17 Eric Botcazou <ebotcazou@adacore.com> 5084 5085 PR bootstrap/77995 5086 Backport from mainline 5087 2016-10-11 Eric Botcazou <ebotcazou@adacore.com> 5088 5089 * tree.h (build_complex_type): Add second parameter with default. 5090 * tree.c (build_complex_type): Add NAMED second parameter and adjust 5091 recursive call. Create a TYPE_DECL only if NAMED is true. 5092 (build_common_tree_nodes): Pass true in calls to build_complex_type. 5093 50942016-10-16 Eric Botcazou <ebotcazou@adacore.com> 5095 5096 * config/sparc/sparc.c (sparc_expand_vector_init): Only accept literal 5097 constants in CONST_VECTORs. 5098 50992016-10-15 Eric Botcazou <ebotcazou@adacore.com> 5100 5101 * config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use a scratch 5102 register as destination of bmask. 5103 (vector_init_bshuffle): Likewise. 5104 * config/sparc/sparc.md (vec_perm_constv8qi): Likewise. 5105 (bmaskdi_vis): Enable only in 64-bit mode. 5106 51072016-10-13 Andrew Senkevich <andrew.senkevich@intel.com> 5108 5109 Backport from trunk 5110 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET, 5111 OPTION_MASK_ISA_PCOMMIT_SET): Deleted definitions. 5112 (ix86_handle_option): Deleted handle of OPT_mpcommit. 5113 * config.gcc: Deleted pcommitintrin.h 5114 * config/i386/pcommitintrin.h: Deleted file. 5115 * config/i386/cpuid.h (bit_PCOMMIT): Deleted. 5116 * config/i386/driver-i386.c (host_detect_local_cpu): Deleted pcommit 5117 detection. 5118 * config/i386/i386-c.c (ix86_target_macros_internal): Deleted define 5119 __PCOMMIT__. 5120 * config/i386/i386.c (ix86_target_string): Deleted -mpcommit. 5121 (PTA_PCOMMIT, IX86_BUILTIN_PCOMMIT, __builtin_ia32_pcommit): Deleted. 5122 (ix86_option_override_internal): Deleted handle of option. 5123 (ix86_valid_target_attribute_inner_p): Deleted pcommit. 5124 * config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Deleted. 5125 * config/i386/i386.md (unspecv): Deleted UNSPECV_PCOMMIT. 5126 (pcommit): Deleted instruction. 5127 * config/i386/i386.opt: Mention -mpcommit deprecation. 5128 * config/i386/x86intrin.h: Deleted inclusion of pcommitintrin.h. 5129 51302016-10-13 Tom de Vries <tom@codesourcery.com> 5131 5132 revert: 5133 2016-10-11 Tom de Vries <tom@codesourcery.com> 5134 5135 backport from trunk: 5136 2016-10-11 Tom de Vries <tom@codesourcery.com> 5137 5138 PR middle-end/77558 5139 * builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE 5140 special-casing. 5141 51422016-10-11 Tom de Vries <tom@codesourcery.com> 5143 5144 backport from trunk: 5145 2016-10-11 Tom de Vries <tom@codesourcery.com> 5146 5147 PR middle-end/77558 5148 * builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE 5149 special-casing. 5150 51512016-10-10 Georg-Johann Lay <avr@gjlay.de> 5152 5153 * config/avr/gen-avr-mmcu-texi.c (string.h): Include. 5154 51552016-10-06 Uros Bizjak <ubizjak@gmail.com> 5156 5157 PR target/77874 5158 * config/i386/sse.md (<mask_codefor><code><mode>3<mask_name>): 5159 Remove wrong assert. 5160 (<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>: 5161 Use <round_constraint> as operand 1 constraint. 5162 51632016-10-06 James Clarke <jrtc27@jrtc27.com> 5164 Eric Botcazou <ebotcazou@adacore.com> 5165 5166 PR target/77759 5167 * config/sparc/sparc.c (classify_data_t): Remove int_regs field. 5168 (classify_registers): Don't set it 5169 (function_arg_slotno): Don't initialize and test it. Tidy up. 5170 51712016-10-04 Uros Bizjak <ubizjak@gmail.com> 5172 5173 Backport from mainline 5174 2016-09-29 Uros Bizjak <ubizjak@gmail.com> 5175 5176 * config/i386/driver-i386.c (host_detect_local_cpu): Check maximum 5177 ext_level before calling CPUID with 0x80000008. 5178 5179 2016-09-29 Uros Bizjak <ubizjak@gmail.com> 5180 5181 PR target/77756 5182 * config/i386/cpuid.h (__get_cpuid_count): New. 5183 (__get_cpuid): Rename __level to __leaf. 5184 51852016-09-30 Michael Meissner <meissner@linux.vnet.ibm.com> 5186 5187 Back port from trunk 5188 5189 2016-09-21 Michael Meissner <meissner@linux.vnet.ibm.com> 5190 5191 PR target/77670 5192 * config/rs6000/predicates.md (invert_fpmask_comparison_operator): 5193 New predicate that matches the ISA 3.0 XSCMP{EQ,GT,GE}DP 5194 instructions when you want to invert the test. 5195 * config/rs6000/rs6000.md (fpmask<mode>): Use the arguments in the 5196 correct order for XXSEL. 5197 (mov<SFDF:mode><SFDF2:mode>cc_invert_p9): Define the inverted test 5198 for using XSCMP{EQ,GT,GE}DP. 5199 52002016-09-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5201 Alan Modra <amodra@gmail.com> 5202 5203 Backport from mainline 5204 2016-07-01 Alan Modra <amodra@gmail.com> 5205 5206 PR rtl-optimization/71709 5207 * ira-lives.c (find_call_crossed_cheap_reg): Exit loop on arg reg 5208 being set, not referenced. 5209 52102016-09-27 David Edelsohn <dje.gcc@gmail.com> 5211 5212 Backport from mainline 5213 2016-09-27 David Edelsohn <dje.gcc@gmail.com> 5214 5215 * config/rs6000/rs6000.c (rs6000_output_symbol): Don't modify 5216 VAR_DECL string. 5217 5218 2016-09-24 David Edelsohn <dje.gcc@gmail.com> 5219 5220 * configure.ac (gcc_cv_as_aix_dwloc): Fix typo in assembly fragment. 5221 * configure: Regenerate. 5222 52232016-09-27 Richard Biener <rguenther@suse.de> 5224 5225 Backport from mainline 5226 2016-09-01 Richard Biener <rguenther@suse.de> 5227 5228 PR middle-end/77436 5229 * tree-chrec.c (tree_fold_binomial): Use widest_int, properly 5230 check whether the result fits the desired result type. 5231 5232 2016-09-19 Richard Biener <rguenther@suse.de> 5233 5234 PR tree-optimization/77514 5235 * tree-ssa-pre.c (create_expression_by_pieces): Optimize 5236 search for folded stmt. 5237 5238 2016-09-15 Richard Biener <rguenther@suse.de> 5239 5240 PR tree-optimization/77514 5241 * tree-ssa-pre.c (create_expression_by_pieces): Handle garbage 5242 only forced_stmts sequence. 5243 5244 2016-09-15 Richard Biener <rguenther@suse.de> 5245 5246 PR middle-end/77544 5247 * fold-const.c (split_tree): Do not split constant ~X. 5248 5249 2016-09-19 Richard Biener <rguenther@suse.de> 5250 5251 PR middle-end/77605 5252 * tree-data-ref.c (analyze_subscript_affine_affine): Use the 5253 proper niter to bound the loops. 5254 5255 2016-09-22 Richard Biener <rguenther@suse.de> 5256 5257 PR middle-end/77679 5258 * gimple-fold.c (fold_array_ctor_reference): Turn asserts into 5259 fold fails. 5260 52612016-09-25 Uros Bizjak <ubizjak@gmail.com> 5262 5263 Backport from mainline 5264 2016-09-21 Richard Biener <rguenther@suse.de> 5265 Jakub Jelinek <jakub@redhat.com> 5266 5267 PR tree-optimization/77621 5268 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split 5269 group at non-vectorizable stmts. 5270 5271 Backport from mainline 5272 2016-09-20 Uros Bizjak <ubizjak@gmail.com> 5273 5274 PR target/77621 5275 * config/i386/i386.c (ix86_preferred_simd_mode) <case DFmode>: 5276 Don't return word_mode for !TARGET_VECTORIZE_DOUBLE. 5277 (ix86_add_stmt_cost): Penalize DFmode vector operations 5278 for !TARGET_VECTORIZE_DOUBLE. 5279 52802016-09-22 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 5281 5282 Backport from 2016-09-22 trunk r240388. 5283 5284 * config/avr/avr.c (avr_rtx_costs_1): Handle DImode MULT. 5285 (avr_address_cost): Replace 61 with MAX_LD_OFFSET(mode). 5286 52872016-09-21 Segher Boessenkool <segher@kernel.crashing.org> 5288 5289 * doc/rtl.texi (JUMP_LABEL): Document RETURN and SIMPLE_RETURN values. 5290 52912016-09-21 Georg-Johann Lay <avr@gjlay.de> 5292 5293 Backport from 2016-09-21 trunk r240306. 5294 5295 PR target/77326 5296 * config/avr/avr.c (avr_notice_update_cc) [CC_NONE]: If insn 5297 touches some regs mentioned in cc_status, do CC_STATUS_INIT. 5298 52992016-09-20 Thomas Preud'homme <thomas.preudhomme@arm.com> 5300 5301 Backport from mainline 5302 2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com> 5303 5304 * lra-constraints.c (match_reload): Pass information about other 5305 output operands. Create new unique register value if matching input 5306 operand shares same register value as output operand being considered. 5307 (curr_insn_transform): Record output operands already processed. 5308 53092016-09-16 Jonathan Wakely <jwakely@redhat.com> 5310 5311 * doc/extend.texi (Integer Overflow Builtins): Fix type of out 5312 parameters for functions taking long long arguments. 5313 53142016-09-16 David Edelsohn <dje.gcc@gmail.com> 5315 5316 Backported from mainline 5317 2016-08-26 David Edelsohn <dje.gcc@gmail.com> 5318 5319 PR target/77349 5320 * config/rs6000/xcoff.h (DWARF_OFFSET_SIZE): Define as PTR_SIZE. 5321 53222016-09-16 Jakub Jelinek <jakub@redhat.com> 5323 Eric Botcazou <ebotcazou@adacore.com> 5324 5325 PR middle-end/77594 5326 * internal-fn.c (expand_arith_overflow) <case MINUS_EXPR>: Don't fall 5327 through into expand_addsub_overflow after expand_neg_overflow. 5328 53292016-09-16 Jakub Jelinek <jakub@redhat.com> 5330 5331 Backported from mainline 5332 2016-09-14 Jakub Jelinek <jakub@redhat.com> 5333 5334 PR sanitizer/68260 5335 * tsan.c: Include target.h. 5336 (enum tsan_atomic_action): Add bool_clear and bool_test_and_set. 5337 (BOOL_CLEAR, BOOL_TEST_AND_SET): Define. 5338 (tsan_atomic_table): Add BUILT_IN_ATOMIC_CLEAR and 5339 BUILT_IN_ATOMIC_TEST_AND_SET entries. 5340 (instrument_builtin_call): Handle bool_clear and bool_test_and_set. 5341 5342 2016-09-08 Jakub Jelinek <jakub@redhat.com> 5343 5344 PR fortran/77516 5345 * omp-low.c (lower_rec_simd_input_clauses): Use max_vf for non-positive 5346 OMP_CLAUSE_SAFELEN_EXPR. 5347 5348 2016-09-06 Jakub Jelinek <jakub@redhat.com> 5349 5350 PR target/69255 5351 * config/i386/i386.c (ix86_expand_builtin): For builtin with 5352 unsupported or unknown ISA, use expand_call. 5353 53542016-09-06 Uros Bizjak <ubizjak@gmail.com> 5355 5356 Backport from mainline 5357 2016-09-05 Uros Bizjak <ubizjak@gmail.com> 5358 5359 PR rtl-optimization/77452 5360 * explow.c (plus_constant) <case MEM>: Extract scalar constant from 5361 inner-mode reference to a CONST_VECTOR constant in the constant pool. 5362 53632016-09-01 Jakub Jelinek <jakub@redhat.com> 5364 5365 Backported from mainline 5366 2016-08-30 Jakub Jelinek <jakub@redhat.com> 5367 5368 PR tree-optimization/72866 5369 * tree-vect-patterns.c (search_type_for_mask): Turn into 5370 a small wrapper, move all code to ... 5371 (search_type_for_mask_1): ... this new function. Add caching 5372 and adjust recursive calls. 5373 5374 PR debug/77363 5375 * dwarf2out.c (modified_type_die): Use lookup_type_die (type) 5376 instead of lookup_type_die (type_main_variant (type)) even for array 5377 types. 5378 5379 PR middle-end/77377 5380 * simplify-rtx.c (avoid_constant_pool_reference): For out of bounds 5381 constant pool reference return x instead of c. 5382 5383 2016-08-19 Jakub Jelinek <jakub@redhat.com> 5384 5385 * config/i386/t-i386 (i386-c.o): Don't depend on 5386 i386-builtin-types.inc. 5387 (i386.o): Depend on i386-builtin-types.inc. 5388 5389 2016-08-17 Jakub Jelinek <jakub@redhat.com> 5390 5391 PR middle-end/77259 5392 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If 5393 turning a call into __builtin_unreachable-like noreturn call, adjust 5394 gimple_call_set_fntype. 5395 * tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if 5396 gimple_call_fntype has void return type. 5397 5398 2016-08-16 Jakub Jelinek <jakub@redhat.com> 5399 5400 PR target/71910 5401 * tree-cfg.c (execute_fixup_cfg): Add node variable, use it. Before inlining, 5402 add cgraph edge for the added __builtin_unreachable call. 5403 54042016-09-01 Gerald Pfeifer <gerald@pfeifer.com> 5405 5406 * doc/extend.texi (SPU Built-in Functions): Remove stale 5407 references to material formerly at IBM and Sony. 5408 54092016-09-01 Matthew Wahab <matthew.wahab@arm.com> 5410 5411 PR target/77281 5412 * config/arm/arm.c (neon_valid_immediate): Delete declaration. 5413 Use const_vec_duplicate to check for duplicated elements. 5414 54152016-09-01 Eric Botcazou <ebotcazou@adacore.com> 5416 5417 * config/i386/i386.c (ix86_option_override_internal): Also disable the 5418 STV pass if -mstackrealign is enabled. 5419 54202016-08-31 Patrick Palka <ppalka@gcc.gnu.org> 5421 5422 Backport from mainline 5423 2016-08-27 Patrick Palka <ppalka@gcc.gnu.org> 5424 5425 PR tree-optimization/71077 5426 PR tree-optimization/68542 5427 * fold-const.c (fold_relational_const): Fix folding of 5428 VECTOR_CST comparisons that have a scalar boolean result type. 5429 54302016-08-31 Gerald Pfeifer <gerald@pfeifer.com> 5431 5432 * doc/install.texi (Binaries): www.opencsw.org now uses https. 5433 54342016-08-31 Jakub Sejdak <jakub.sejdak@phoesys.com> 5435 5436 * config.gcc: Add support for arm*-*-phoenix* targets. 5437 * config/arm/t-phoenix: New. 5438 * config/phoenix.h: New. 5439 54402016-08-29 Uros Bizjak <ubizjak@gmail.com> 5441 5442 PR target/77403 5443 * config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler 5444 template for intel asm dialect. 5445 (vec_set_hi_<mode><mask_name>): Ditto. 5446 54472016-08-29 Eric Botcazou <ebotcazou@adacore.com> 5448 5449 * Makefile.in (gcov-iov.h): Add dummy recipe. 5450 54512016-08-28 Uros Bizjak <ubizjak@gmail.com> 5452 5453 Backport from mainline 5454 2016-08-23 Venkataramanan Kumar <venkataramanan.kumar@amd.com> 5455 5456 * config/i386/i386.c (processor_alias_table): Enable PTA_PRFCHW 5457 for targets amdfam10 and barcelona. 5458 5459 Backport from mainline 5460 2016-08-21 Uros Bizjak <ubizjak@gmail.com> 5461 5462 PR target/77270 5463 * config/i386/i386.md (prefetch): When TARGET_PRFCHW or 5464 TARGET_PREFETCHWT1 are disabled, emit 3dNOW! write prefetches for 5465 non-SSE2 athlons only, otherwise prefer SSE prefetches. 5466 5467 Backport from mainline 5468 2016-08-19 Uros Bizjak <ubizjak@gmail.com> 5469 5470 PR target/77270 5471 * config/i386/i386.c (ix86_option_override_internal): Remove 5472 PTA_PRFCHW from entries that also have PTA_3DNOW flag. 5473 Enable SSE prefetch also for TARGET_PREFETCHWT1. 5474 Do not try to enable TARGET_PRFCHW ISA flag here. 5475 * config/i386/i386.md (prefetch): Enable also for TARGET_3DNOW. 5476 Rewrite expander function body. 5477 (*prefetch_3dnow): Enable for TARGET_3DNOW and TARGET_PREFETCHWT1. 5478 54792016-08-28 Tom de Vries <tom@codesourcery.com> 5480 5481 backport from trunk: 5482 2016-08-28 Tom de Vries <tom@codesourcery.com> 5483 5484 PR lto/70955 5485 * config/i386/i386.c (ix86_build_builtin_va_list_64): Tag type with 5486 'sysv_abi va_list' attribute. 5487 (ix86_build_builtin_va_list): Tag type with 'ms_abi va_list' attribute. 5488 (ix86_canonical_va_list_type): Handle 'sysv_abi/ms_abi va_list' 5489 attributes. 5490 54912016-08-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5492 5493 Backport from mainline 5494 2016-08-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5495 5496 PR target/72863 5497 * vsx.md (vsx_load_<mode>): For P8LE, emit swaps at expand time. 5498 (vsx_store_<mode>): Likewise. 5499 55002016-08-24 Richard Biener <rguenther@suse.de> 5501 5502 Backport from mainline 5503 2016-08-17 Richard Biener <rguenther@suse.de> 5504 5505 PR tree-optimization/76490 5506 * tree-vrp.c (update_value_range): Preserve overflow infinities 5507 when intersecting with ranges from get_range_info. 5508 (operand_less_p): Handle overflow infinities correctly. 5509 (value_range_constant_singleton): Use vrp_operand_equal_p 5510 to handle overflow max/min correctly. 5511 (vrp_valueize): Likewise. 5512 (union_ranges): Likewise. 5513 (intersect_ranges): Likewise. 5514 55152016-08-24 Sebastian Huber <sebastian.huber@embedded-brains.de> 5516 5517 * config/arm/t-rtems: Add vfp multilib. 5518 55192016-08-23 Richard Biener <rguenther@suse.de> 5520 5521 Backport from mainline 5522 2016-08-16 Richard Biener <rguenther@suse.de> 5523 5524 PR tree-optimization/76783 5525 * tree-ssa-propagate.c (ssa_prop_init): Use RPO order. Clear 5526 BB visited flags at start. 5527 5528 2016-08-12 Richard Biener <rguenther@suse.de> 5529 5530 PR tree-optimization/72851 5531 * tree-ssa-propagate.c: Include cfganal.h. Rewrite block and stmt 5532 worklists to use bitmaps indexed in execution order. 5533 (executable_blocks, cfg_blocks_num, cfg_blocks_tail, cfg_blocks_head, 5534 bb_in_list, interesting_ssa_edges, varying_ssa_edges): Remove. 5535 (cfg_blocks): Make a bitmap. 5536 (bb_to_cfg_order, cfg_order_to_bb, ssa_edge_worklist, uid_to_stmt): 5537 New globals. 5538 (cfg_blocks_empty_p): Adjust. 5539 (cfg_blocks_add): Likewise. 5540 (cfg_blocks_get): Likewise. 5541 (add_ssa_edge): Likewise. 5542 (add_control_edge): Likewise. 5543 (simulate_stmt): Likewise. 5544 (process_ssa_edge_worklist): Likewise. 5545 (simulate_block): Likewise. 5546 (ssa_prop_init): Compute PRE order and stmt UIDs. 5547 (ssa_prop_fini): Adjust. 5548 (ssa_propagate): Adjust. 5549 55502016-08-22 Uros Bizjak <ubizjak@gmail.com> 5551 5552 Backport from mainline 5553 2016-08-15 Uros Bizjak <ubizjak@gmail.com> 5554 5555 PR target/72867 5556 * config/i386/sse.md (<code><mode>3<mask_name><round_saeonly_name>): 5557 Emit ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name> 5558 for !flag_finite_math_only or flag_signed_zeros. 5559 (*<code><mode>3<mask_name><round_saeonly_name>): Rename from 5560 *<code><mode>3_finite<mask_name><round_saeonly_name>. Do not 5561 depend on flag_finite_math_only. 5562 (ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>): 5563 New insn pattern. 5564 (*<code><mode>3<mask_name><round_saeonly_name>): Remove. 5565 (*ieee_smin<mode>3): Ditto. 5566 (*ieee_smax<mode>3): Ditto. 5567 * config/i386/mmx.md (mmx_<code>v2sf3): Emit 5568 mmx_ieee_<ieee_maxmin>v2sf3 for !flag_finite_math_only or 5569 flag_signed_zeros. 5570 (*mmx_<code>v2sf3): Rename from *mmx_<code>v2sf3_finite. Do not 5571 depend on flag_finite_math_only. 5572 (mmx_ieee_<ieee_maxmin>v2sf3): New insn pattern. 5573 (*mmx_<code>v2sf3): Remove. 5574 * config/i386/subst.md (round_saeonly_mask_arg3): New subst attribute. 5575 * config/i386/i386.c (ix86_expand_sse_fp_mimnax): Check 5576 flag_signed_zeros instead of !flag_unsafe_math_optimizations. 5577 55782016-08-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5579 5580 Backport from mainline 5581 2016-07-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5582 5583 PR middle-end/71700 5584 * expr.c (store_constructor): Mask sign-extended bits when widening 5585 sub-word constructor element at the start of a word. 5586 55872016-08-22 Richard Biener <rguenther@suse.de> 5588 5589 * BASE-VER: Set to 6.2.1. 5590 55912016-08-22 Release Manager 5592 5593 * GCC 6.2.0 released. 5594 55952016-08-18 Chung-Lin Tang <cltang@codesourcery.com> 5596 5597 Backport from mainline 5598 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com> 5599 5600 PR middle-end/70895 5601 * gimplify.c (omp_add_variable): Adjust/add variable mapping on 5602 enclosing parallel construct for reduction variables on OpenACC loop 5603 directives. 5604 56052016-08-18 Oleg Endo <olegendo@gcc.gnu.org> 5606 5607 Backport from mainline 5608 2016-06-17 DJ Delorie <dj@redhat.com> 5609 5610 PR target/71338 5611 * config/rl78/rl78-expand.c (umulqihi3): Enable for G10. 5612 * config/rl78/rl78-virtual.c (umulhi3_shift_virt): Likewise. 5613 (umulqihi3_virt): Likewise. 5614 * config/rl78/rl78-real.c (umulhi3_shift_real): Likewise. 5615 (umulqihi3_real): Likewise. 5616 56172016-08-16 Eric Botcazou <ebotcazou@adacore.com> 5618 5619 * doc/install.texi (*-*-solaris2*): Adjust latest change. 5620 56212016-08-15 Martin Liska <mliska@suse.cz> 5622 5623 Backported from mainline 5624 2016-08-15 Martin Liska <mliska@suse.cz> 5625 5626 PR driver/72765 5627 * gcc.c (do_spec_1): Call save_string with the right size. 5628 56292016-08-15 Jakub Jelinek <jakub@redhat.com> 5630 5631 PR debug/71906 5632 * dwarf2out.c (string_types): New variable. 5633 (gen_array_type_die): Change early_dwarf handling of 5634 DW_AT_string_length, create DW_OP_call4 referencing the 5635 length var temporarily. Handle parameters that are pointers 5636 to string length. 5637 (adjust_string_types): New function. 5638 (gen_subprogram_die): Temporarily set string_types to local var, 5639 call adjust_string_types if needed. 5640 (non_dwarf_expression, copy_deref_exprloc, optimize_string_length): 5641 New functions. 5642 (resolve_addr): Adjust DW_AT_string_length if it is DW_OP_call4. 5643 56442016-08-15 Richard Biener <rguenther@suse.de> 5645 5646 PR tree-optimization/73434 5647 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Preserve 5648 TBAA info on the base when forwarding a non-invariant address. 5649 56502016-08-15 Eric Botcazou <ebotcazou@adacore.com> 5651 5652 * doc/install.texi (*-*-solaris2*): Fix version number and document 5653 requirement on GNU make for building libjava with the Solaris linker. 5654 56552016-08-15 Martin Liska <mliska@suse.cz> 5656 Jakub Jelinek <jakub@redhat.com> 5657 5658 PR tree-optimization/72824 5659 * tree-loop-distribution.c (const_with_all_bytes_same) 5660 <case VECTOR_CST>: Fix a typo. 5661 56622016-08-14 Uros Bizjak <ubizjak@gmail.com> 5663 5664 Backport from mainline 5665 2016-08-14 Uros Bizjak <ubizjak@gmail.com> 5666 5667 PR target/76342 5668 * config/i386/avx512fintrin.h (_mm512_undefined_epi32): 5669 Renamed from _mm512_undefined_si512. 5670 (_mm_undefined_si512): New definition. 5671 5672 Backport from mainline: 5673 2016-08-09 David Wohlferd <dw@LimeGreenSocks.com> 5674 5675 * config/i3836/avx512fintrin.h (_mm512_cvtsepi64_epi32): Remove 5676 unused variable __O. 5677 5678 Backport from mainline: 5679 2016-08-09 Uros Bizjak <ubizjak@gmail.com> 5680 5681 PR target/72843 5682 * config/i386/i386.md (*movtf_internal): Use 5683 lra_in_progress || reload_completed instead of !can_create_pseudo_p 5684 in the insn constraint. 5685 (*movxf_internal): Ditto. 5686 (*movdf_internal): Ditto. 5687 (*movsf_internal): Ditto. 5688 56892016-08-12 Jakub Jelinek <jakub@redhat.com> 5690 5691 PR c/71512 5692 * ubsan.c (instrument_si_overflow): Pass true instead of false 5693 to gsi_replace. 5694 (pass_ubsan::execute): Call gimple_purge_dead_eh_edges at the end 5695 of bbs. Return TODO_cleanup_cfg if any returned true. 5696 56972016-08-12 Bernd Edlinger <bernd.edlinger@hotmail.de> 5698 5699 Backport from mainline 5700 2016-08-11 Bernd Edlinger <bernd.edlinger@hotmail.de> 5701 5702 PR tree-optimization/71083 5703 * tree-predcom.c (ref_at_iteration): Correctly align the 5704 reference type. 5705 57062016-08-12 James Greenhalgh <james.greenhalgh@arm.com 5707 5708 Backport from mainline 5709 2016-08-05 James Greenhalgh <james.greenhalgh@arm.com> 5710 5711 PR Target/72819 5712 * config/aarch64/aarch64.h (aarch64_fp16_type_node): Declare. 5713 (aarch64_fp16_ptr_type_node): Likewise. 5714 * config/aarch64/aarch64-simd-builtins.c 5715 (aarch64_fp16_ptr_type_node): Define. 5716 (aarch64_init_fp16_types): New, refactored out of... 5717 (aarch64_init_builtins): ...here, update to call 5718 aarch64_init_fp16_types. 5719 * config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): Handle 5720 HFmode. 5721 (aapcs_vfp_sub_candidate): Likewise. 5722 57232016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5724 5725 Backport from mainline 5726 2016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5727 5728 * config/s390/s390-builtin-types.def: Add INT128 types. 5729 * config/s390/s390-builtins.def: Add INT128 variants for the add 5730 sub low-level builtins dealing with TImode. 5731 * config/s390/s390.c (s390_expand_builtin): Allow mode conversions 5732 via subreg when expanding a builtin. 5733 * config/s390/s390.md: Remove UNSPEC_VEC_ADDC_U128, 5734 UNSPEC_VEC_SUB_U128, and UNSPEC_VEC_SUBC_U128 constants. 5735 Fix comment. 5736 * config/s390/vecintrin.h: Adjust builtin names accordingly. 5737 * config/s390/vx-builtins.md ("vec_add_u128"): Remove expander. 5738 ("vec_addc<mode>", "vec_addc_u128"): Merge to 5739 "vacc<bhfgq>_<mode>". 5740 ("vec_adde_u128"): Rename to "vacq". Change mode to TImode. 5741 ("vec_addec_u128"): Rename to "vacccq". Change mode to TImode. 5742 ("vec_subc<mode>", "vec_subc_u128"): Merge to 5743 "vscbi<bhfgq>_<mode>". 5744 ("vec_sube_u128"): Rename to "vsbiq". Change mode to TImode. 5745 ("vec_subec_u128"): Rename to "vsbcbiq". Change mode to TImode. 5746 57472016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5748 5749 Backport from mainline 5750 2016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5751 5752 * config/s390/s390-builtins.def: Mark last operand of s390_vlvg* 5753 and s390_vlgv* builtins as element selector. 5754 57552016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5756 5757 Backport from mainline 5758 2016-07-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5759 5760 * config/s390/s390.c (s390_expand_vec_init): Force initializer 5761 element to register if it doesn't match general_operand. 5762 57632016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5764 5765 Backport from mainline 5766 2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5767 5768 * config/s390/vecintrin.h: Fix file description in comment. 5769 57702016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5771 5772 Backport from mainline 5773 2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5774 5775 * config/s390/s390-builtin-types.def: Change builtin type naming 5776 scheme to match builtin-types.def. 5777 57782016-08-10 Michael Meissner <meissner@linux.vnet.ibm.com> 5779 5780 Backport from mainline 5781 2016-08-10 Michael Meissner <meissner@linux.vnet.ibm.com> 5782 5783 PR target/72853 5784 * config/rs6000/rs6000.c (mem_operand_ds_form): Add check for op 5785 being an offsettable address. 5786 57872016-08-10 Jakub Jelinek <jakub@redhat.com> 5788 5789 Backported from mainline 5790 2016-08-09 Jakub Jelinek <jakub@redhat.com> 5791 5792 PR tree-optimization/72824 5793 * tree-loop-distribution.c (const_with_all_bytes_same): Verify 5794 real_zerop is not negative. 5795 57962016-08-09 Martin Jambor <mjambor@suse.cz> 5797 5798 PR ipa/71981 5799 * ipa-polymorphic-call.c (get_dynamic_type): Bail out gracefully 5800 if instance is a MEM_REF. 5801 58022016-08-09 Richard Biener <rguenther@suse.de> 5803 5804 Backport from mainline 5805 2016-08-09 Richard Biener <rguenther@suse.de> 5806 5807 PR ipa/68273 5808 * ipa-prop.c (ipa_modify_formal_parameters): Build 5809 parameter types with natural alignment also for the 5810 over-aligned case. 5811 5812 2016-07-15 Richard Biener <rguenther@suse.de> 5813 5814 PR tree-optimization/71881 5815 * tree-loop-distribution.c (destroy_loop): Remove blocks in 5816 reverse DOM order to make debug temp generation happy. 5817 58182016-08-09 Alan Modra <amodra@gmail.com> 5819 5820 PR target/72802 5821 * config/rs6000/rs6000.md (mov<mode>_hardfloat): Sort 5822 alternatives. Put loads first, then stores, and reg/reg moves 5823 within same class later. Delete attr length. 5824 58252016-08-09 Alan Modra <amodra@gmail.com> 5826 5827 PR target/72802 5828 * config/rs6000/rs6000.c (mem_operand_gpr): Remove vsx dform test. 5829 (mem_operand_ds_form): New predicate. 5830 * config/rs6000/rs6000-protos.h (mem_operand_ds_form): Declare. 5831 * config/rs6000/constraints.md (wY): New constraint. 5832 * config/rs6000/rs6000.md (f32_lm2, f32_sm2): Use wY for SF. 5833 (extendsfdf2_fpr): Replace o constraint with wY. 5834 58352016-08-08 Georg-Johann Lay <avr@gjlay.de> 5836 5837 Backport from 2016-07-29 trunk r238863. 5838 5839 PR rtl-optimization/71976 5840 * combine.c (get_last_value): Return 0 if the argument for which 5841 the function is called has a wider mode than the recorded value. 5842 58432016-08-04 Michael Meissner <meissner@linux.vnet.ibm.com> 5844 5845 Backport from trunk 5846 2016-07-26 Michael Meissner <meissner@linux.vnet.ibm.com> 5847 5848 PR target/71869 5849 * config/rs6000/rs6000.c (rs6000_generate_compare): Rework 5850 __float128 support when we don't have hardware support, so that 5851 the IEEE built-in functions like isgreater, first call __unordkf3 5852 to make sure neither operand is a NaN, and if both operands are 5853 ordered, do the normal comparison. 5854 58552016-08-04 Uros Bizjak <ubizjak@gmail.com> 5856 5857 PR target/72805 5858 * config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]: 5859 Cast builtin function result to __mmask16 instead of __mmask8. 5860 (_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto. 5861 (_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto. 5862 (_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto. 5863 58642016-08-03 Georg-Johann Lay <avr@gjlay.de> 5865 5866 PR 70677 5867 * common/config/avr/avr-common.c (avr_option_optimization_table) 5868 [OPT_LEVELS_ALL]: Turn off -fcaller-saves. 5869 58702016-08-01 Georg-Johann Lay <avr@gjlay.de> 5871 5872 Backport from 2016-08-01 trunk r238948. 5873 5874 PR target/72767 5875 * config/avr/avr.md (length) [branch]: Correct insn length 5876 attribute for forward branches. 5877 58782016-08-01 Georg-Johann Lay <avr@gjlay.de> 5879 5880 Backport from 2016-06-16 trunk r237536. 5881 2016-06-16 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 5882 5883 PR target/71151 5884 * config/avr/avr.c (avr_asm_init_sections): Remove setup of 5885 progmem_swtable_section. 5886 (progmem_swtable_section): Remove. 5887 (avr_asm_function_rodata_section): Remove. 5888 (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove. 5889 * config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION): Define to 1. 5890 58912016-07-29 Marek Polacek <polacek@redhat.com> 5892 5893 Backport from mainline 5894 2016-07-29 Marek Polacek <polacek@redhat.com> 5895 5896 PR c/7652 5897 * config/rs6000/rs6000.c (altivec_expand_ld_builtin): Add break. 5898 (altivec_expand_st_builtin): Likewise. 5899 * config/i386/i386.c (ix86_expand_args_builtin): Likewise. 5900 (ix86_expand_round_builtin): Likewise. 5901 59022016-07-27 Segher Boessenkool <segher@kernel.crashing.org> 5903 5904 PR target/71216 5905 * config/rs6000/rs6000.c (rs6000_file_start): Fix condition for 5906 when to emit a ".machine" pseudo-op. 5907 59082016-07-26 Alan Modra <amodra@gmail.com> 5909 5910 PR target/72103 5911 * config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize 5912 sri->t_icode. 5913 59142016-07-21 Jakub Jelinek <jakub@redhat.com> 5915 5916 PR sanitizer/71953 5917 * asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types 5918 before builtin_decl_implicit. 5919 5920 * tree-object-size.c (unknown): Use HOST_WIDE_INT_M1U instead of -1. 5921 59222016-07-21 Andrew Sutton <andrew.n.sutton@gmail.com> 5923 5924 Improving concepts performance and diagnostics. 5925 * timevar.def (TV_CONSTRAINT_SAT, TV_CONSTRAINT_SUB): New time vars 5926 for constraint satisfaction and subsumption. 5927 * timevar.h (auto_timevar): New constructor that matches the push/pop 5928 pattern of usage in pt.c. 5929 59302016-07-20 John David Anglin <danglin@gcc.gnu.org> 5931 5932 Backport from mainline 5933 2016-07-16 John David Anglin <danglin@gcc.gnu.org> 5934 5935 * config/pa/pa.c (hppa_profile_hook): Allocate stack space for 5936 register parameters. Remove code to initialize argument pointer 5937 on TARGET_64BIT. Optimize call to _mcount when it can be reached 5938 using a pc-relative branch. Cleanup conditional code. 5939 * config/pa/pa.md (call_mcount): New expander. 5940 (call_mcount_nonpic): New insn. 5941 (call_mcount_pic): New insn and split. 5942 (call_mcount_pic_post_reload): New insn. 5943 (call_mcount_64bit): New insn and split. 5944 (call_mcount_64bit_post_reload): New insn. 5945 59462016-07-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5947 5948 Backport from mainline 5949 2016-07-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5950 5951 * config/s390/s390.c (s390_encode_section_info): Remove mode size 5952 check. 5953 59542016-07-20 Martin Jambor <mjambor@suse.cz> 5955 5956 PR fortran/71688 5957 * trans-decl.c (gfc_generate_function_code): Use get_create rather 5958 than create to get a call graph node. 5959 59602016-07-19 Jakub Jelinek <jakub@redhat.com> 5961 5962 PR rtl-optimization/71916 5963 * cfgrtl.c (contains_no_active_insn_p): Return false also for 5964 bb which have a single succ fake edge. 5965 59662016-07-19 Aldy Hernandez <aldyh@redhat.com> 5967 5968 PR debug/71855 5969 * dwarf2out.c (gen_subprogram_die): Only call 5970 gen_unspecified_parameters_die while dumping early dwarf. 5971 59722016-07-19 Jakub Jelinek <jakub@redhat.com> 5973 5974 PR middle-end/71874 5975 * gimple-fold.c (fold_builtin_memory_op): Use 5976 get_addr_base_and_unit_offset instead of get_ref_base_and_extent. 5977 59782017-07-19 Michael Meissner <meissner@linux.vnet.ibm.com> 5979 5980 Back port from trunk 5981 2017-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> 5982 5983 PR target/81193 5984 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC 5985 provides the hardware capability bits, define the macro 5986 __BUILTIN_CPU_SUPPORTS__. 5987 * config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning 5988 if GLIBC does not provide the hardware capability bits. Add a 5989 gcc_unreachable call if the built-in cpu function is neither 5990 __builtin_cpu_is nor __builtin_cpu_supports. 5991 * doc/extend.texi (PowerPC built-in functions): Document that 5992 GLIBC 2.23 or newer is needed by __builtin_cpu_is and 5993 __builtin_cpu_supports. Document the macros defined by GCC if the 5994 newer GLIBC is available. 5995 59962016-07-18 Michael Meissner <meissner@linux.vnet.ibm.com> 5997 5998 Back port from mainline 5999 2016-07-18 Michael Meissner <meissner@linux.vnet.ibm.com> 6000 6001 PR target/71493 6002 * config/rs6000/rs6000.c (rs6000_function_value): Fix 6003 unintentional System V.4 structure return breakage for structures 6004 with a single floating point element. 6005 60062016-07-18 Martin Liska <mliska@suse.cz> 6007 6008 Backported from mainline 6009 2016-07-12 Martin Liska <mliska@suse.cz> 6010 6011 PR rtl-optimization/71634 6012 * ira-build.c (mark_loops_for_removal): Properly iterate 6013 loops. 6014 60152016-07-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 6016 6017 Backport from mainline 6018 2016-07-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 6019 6020 * config/s390/s390.c (s390_encode_section_info): Always set 6021 notaligned marker if mode size is 0 or no MEM_ALIGN info could be 6022 found. 6023 60242016-07-15 Alan Modra <amodra@gmail.com> 6025 6026 Apply from mainline 6027 2016-07-11 Alan Modra <amodra@gmail.com> 6028 * config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec. 6029 (ctr<mode>): Add unspec. 6030 (ctr<mode>_internal*): Likewise. 6031 60322016-07-14 Alan Modra <amodra@gmail.com> 6033 6034 PR target/71733 6035 * config/rs6000/rs6000.c (rs6000_option_override_internal): Deal 6036 with p9_vector override before power9-dform override. 6037 60382016-07-13 Ilya Enkovich <ilya.enkovich@intel.com> 6039 6040 Backport from mainline r238086. 6041 2016-07-07 Ilya Enkovich <ilya.enkovich@intel.com> 6042 6043 PR ipa/71624 6044 * ipa-inline-analysis.c (compute_inline_parameters): Set 6045 local.can_change_signature to false for intrumentation 6046 thunk callees. 6047 60482016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> 6049 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 6050 6051 Backport from mainline 6052 2016-07-05 Michael Meissner <meissner@linux.vnet.ibm.com> 6053 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 6054 6055 * config/rs6000/rs6000-protos.h (rs6000_split_signbit): New 6056 prototype. 6057 * config/rs6000/rs6000.c (rs6000_split_signbit): New function. 6058 * config/rs6000/rs6000.md (UNSPEC_SIGNBIT): New constant. 6059 (SIGNBIT): New mode iterator. 6060 (Fsignbit): New mode attribute. 6061 (signbit<mode>2): Change operand1 to match FLOAT128 instead of 6062 IBM128; dispatch to gen_signbit{kf,tf}2_dm for __float128 6063 when direct moves are available. 6064 (signbit<mode>2_dm): New define_insn_and_split). 6065 (signbit<mode>2_dm2): New define_insn. 6066 60672016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> 6068 6069 Backport from mainline 6070 2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> 6071 6072 PR target/71805 6073 * config/rs6000/altivec.md (altivec_vperm_<mode>_internal): 6074 The xxperm and xxpermr instructions require that the 2nd input 6075 operand overlap with the output operand, and not the 1st. 6076 (altivec_vperm_v8hiv16qi): Likewise. 6077 (altivec_vperm_<mode>_uns_internal): Likewise. 6078 (altivec_vpermr_<mode>_internal): Likewise. 6079 (vperm_v8hiv4si): Likewise. 6080 (vperm_v16qiv8hi): Likewise. 6081 60822016-07-12 Segher Boessenkool <segher@kernel.crashing.org> 6083 6084 Backport from mainline 6085 2016-07-06 Segher Boessenkool <segher@kernel.crashing.org> 6086 6087 PR target/70098 6088 PR target/71763 6089 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, 6090 *ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output 6091 constraint. 6092 60932016-07-11 Jakub Jelinek <jakub@redhat.com> 6094 6095 PR middle-end/71758 6096 * omp-low.c (expand_omp_target): Gimplify device. 6097 6098 PR tree-optimization/71823 6099 * tree-vect-stmts.c (vectorizable_operation): Use vect_get_vec_defs 6100 to get vec_oprnds2 from op2. 6101 61022016-07-11 Yuri Rumyantsev <ysrumyan@gmail.com> 6103 6104 Backport from mainline r238055. 6105 2016-07-06 Yuri Rumyantsev <ysrumyan@gmail.com> 6106 6107 PR tree-optimization/71518 6108 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust 6109 misalign also for outer loops with negative step. 6110 61112016-07-08 Martin Liska <mliska@suse.cz> 6112 6113 Backported from mainline 6114 2016-07-08 Martin Liska <mliska@suse.cz> 6115 6116 PR middle-end/71606 6117 * fold-const.c (fold_convertible_p): As COMPLEX_TYPE 6118 folding produces SAVE_EXPRs, thus return false for the type. 6119 61202016-07-08 Kelvin Nilsen <kelvin@gcc.gnu.org> 6121 6122 * config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): Remove 6123 redundant and erroneous definition of this macro accidentally 6124 inserted during backporting. 6125 (BU_P9_64BIT_MISC_0): Likewise. 6126 (BU_P9_MISC_0): Likewise. 6127 61282016-07-08 Jiong Wang <jiong.wang@arm.com> 6129 6130 Back port from the trunk 6131 2016-07-08 Jiong Wang <jiong.wang@arm.com> 6132 6133 * config/aarch64/aarch64-simd-builtins.def (smax): Remove float 6134 variants. 6135 (smin): Likewise. 6136 (fmax): New entry. 6137 (fmin): Likewise. 6138 * config/aarch64/arm_neon.h (vmaxnm_f32): Use 6139 __builtin_aarch64_fmaxv2sf. 6140 (vmaxnmq_f32): Likewise. 6141 (vmaxnmq_f64): Likewise. 6142 (vminnm_f32): Likewise. 6143 (vminnmq_f32): Likewise. 6144 (vminnmq_f64): Likewise. 6145 61462016-07-08 Michael Meissner <meissner@linux.vnet.ibm.com> 6147 6148 Back port from trunk 6149 2016-07-08 Michael Meissner <meissner@linux.vnet.ibm.com> 6150 6151 PR target/71806 6152 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Do not 6153 enable -mfloat128-hardware by default. 6154 (ISA_3_0_MASKS_IEEE): New macro to give all of the VSX options 6155 that IEEE 128-bit hardware support needs. 6156 * config/rs6000/rs6000.c (rs6000_option_override_internal): If 6157 -mcpu=power9 -mfloat128, enable -mfloat128-hardware by default. 6158 Use ISA_3_0_MASKS_IEEE as the set of options that IEEE 128-bit 6159 floating point requires. 6160 * doc/invoke.texi (RS/6000 and PowerPC Options): Document 6161 -mfloat128 and -mfloat128-hardware changes. 6162 61632016-07-08 Kelvin Nilsen <kelvin@gcc.gnu.org> 6164 6165 Backport from mainline r237912 6166 2016-07-01 Kelvin Nilsen <kelvin@gcc.gnu.org> 6167 6168 * config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal): 6169 Exchange the order of the second and third operands in the vpermr 6170 instruction tmeplate. 6171 61722016-07-07 Michael Meissner <meissner@linux.vnet.ibm.com> 6173 6174 Back port from the trunk 6175 2016-07-01 Michael Meissner <meissner@linux.vnet.ibm.com> 6176 6177 PR target/71720 6178 * config/rs6000/vsx.md (vsx_splat_v4sf_internal): When splitting 6179 the insns, use an insn form that does not adjust the offset on 6180 little endian systems. 6181 61822016-07-07 Kelvin Nilsen <kelvin@gcc.gnu.org> 6183 6184 Backport from mainline r237885 6185 2016-06-30 Kelvin Nilsen <kelvin@gcc.gnu.org> 6186 6187 * config/rs6000/altivec.md (darn_32): Change the condition to 6188 TARGET_P9_MISC instead of TARGET_MODULO. 6189 (darn_raw): Replace TARGET_MODULO with TARGET_P9_MISC in the 6190 condition expression. 6191 (darn): Replace TARGET_MODULO with TARGET_P9_MISC in the 6192 condition expression. 6193 * config/rs6000/dfp.md (UNSPEC_DTSTSFI): New unspec constant. 6194 (DFP_TEST): New code iterator. 6195 (dfptstsfi_<code>_mode>): New define_expand. 6196 (*dfp_sgnfcnc_<mode>): New define_insn. 6197 * config/rs6000/rs6000-builtin.def (BU_P9_MISC_0): Move this macro 6198 definition next to BU_P9_MISC_1 definition and change the MASK 6199 value to RS6000_BTM_P9_MISC. 6200 (BU_P9_MISC_1): Change the MASK value to RS6000_BTM_P9_MISC. 6201 (BU_P9_64BIT_MISC_0): Likewise. 6202 (BU_P9_DFP_MISC_0): New macro definition. 6203 (BU_P9_DFP_MISC_1): New macro definition. 6204 (BU_P9_DFP_MISC_2): New macro definition. 6205 (BU_P9_DFP_OVERLOAD_1): New macro definition. 6206 (BU_P9_DFP_OVERLOAD_2): New macro definition. 6207 (BU_P9_DFP_OVERLOAD_3): New macro definition. 6208 (TSTSFI_LT_DD): New BU_P9_DFP_MISC_2. 6209 (TSTSFI_LT_TD): Likewise. 6210 (TSTSFI_EQ_DD): Likewise. 6211 (TSTSFI_EQ_TD): Likewise. 6212 (TSTSFI_GT_DD): Likewise. 6213 (TSTSFI_GT_TD): Likewise. 6214 (TSTSFI_OV_DD): Likewise. 6215 (TSTSFI_OV_TD): Likewise. 6216 (TSTSFI_LT): New BU_P9_DFP_OVERLOAD_2. 6217 (TSTSFI_LT_DD): Likewise. 6218 (TSTSFI_LT_TD): Likewise. 6219 (TSTSFI_EQ): Likewise. 6220 (TSTSFI_EQ_DD): Likewise. 6221 (TSTSFI_EQ_TD): Likewise. 6222 (TSTSFI_GT): Likewise. 6223 (TSTSFI_GT_DD): Likewise. 6224 (TSTSFI_GT_TD): Likewise. 6225 (TSTSFI_OV): Likewise. 6226 (TSTSFI_OV_DD): Likewise. 6227 (TSTSFI_OV_TD): Likewise. 6228 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add 6229 overloaded test significance functions. 6230 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add 6231 OPTION_MASK_P9_MISC into the representation of this mask. 6232 (POWERPC_MASKS): Add OPTION_MASK_P9_MISC into the representation 6233 of this mask. 6234 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Set the 6235 RS6000_BTM_P9_MISC flag in the return value if TARGET_P9_MISC is 6236 non-zero. 6237 (rs6000_expand_binop_builtin): Enforce that argument 0 of the exp 6238 argument is a 6-bit unsigned literal value if the icode argument 6239 represents a DFP test significance built-in call. 6240 (rs6000_invalid_builtin): Add support for the RS6000_BTM_P9_MISC 6241 flag used independently and in combination with the 6242 RS6000_BTM_64BIT flag. 6243 (rs6000_opt_masks): Add entry for power9-misc command-line option. 6244 (rs6000_builtin_mask_names): Add entry for power9-misc 6245 command-line option. 6246 * config/rs6000/rs6000.h: Redefine TARGET_P9_MISC as 0 if 6247 HAVE_AS_POWER9 is not a defined macro. Define MASK_P9_MISC and 6248 RS6000_BTM_P9_MISC macros. 6249 * config/rs6000/rs6000.opt: Add support for the -mpower9-misc 6250 option and change the description of the -mpower9-vector option to 6251 enable only vector instructions, removing its erroneously claimed 6252 support for scalar instructions. 6253 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document 6254 the ISA 3.0 digital floating point test significance built-in 6255 functions. 6256 62572016-07-07 Richard Biener <rguenther@suse.de> 6258 6259 Backport from mainline 6260 2016-06-13 Richard Biener <rguenther@suse.de> 6261 6262 PR middle-end/64516 6263 * fold-const.c (fold_unary_loc): Preserve alignment when 6264 folding a VIEW_CONVERT_EXPR into a MEM_REF. 6265 62662016-07-07 Richard Biener <rguenther@suse.de> 6267 6268 Backport from mainline 6269 2016-05-25 Richard Biener <rguenther@suse.de> 6270 6271 PR tree-optimization/71264 6272 * tree-vect-stmts.c (vect_init_vector): Properly deal with 6273 vector type val. 6274 6275 2016-06-07 Richard Biener <rguenther@suse.de> 6276 6277 PR middle-end/71423 6278 * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison 6279 for signed ops. 6280 6281 2016-06-14 Richard Biener <rguenther@suse.de> 6282 6283 PR tree-optimization/71521 6284 * tree-vrp.c (extract_range_from_binary_expr_1): Guard 6285 division int_const_binop against zero divisor. 6286 6287 2016-06-08 Richard Biener <rguenther@suse.de> 6288 6289 PR tree-optimization/71452 6290 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the 6291 type used for the SSA rewrite has enough precision to cover 6292 the dynamic type of the location. 6293 6294 2016-06-14 Richard Biener <rguenther@suse.de> 6295 6296 PR tree-optimization/71522 6297 * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float 6298 copying into float copying. 6299 63002016-07-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 6301 6302 Backport from mainline 6303 2016-07-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 6304 6305 PR target/50739 6306 * config/avr/avr.c (avr_asm_select_section): Strip off 6307 SECTION_DECLARED from flags when calling get_section. 6308 63092016-07-05 Pat Haugen <pthaugen@us.ibm.com> 6310 6311 Backport from mainline 6312 2016-06-28 Pat Haugen <pthaugen@us.ibm.com> 6313 6314 * config/rs6000/rs6000.md ('type' attribute): Add htmsimple/dfp types. 6315 ('size' attribute): Add '128'. 6316 Include power9.md. 6317 (*mov<mode>_hardfloat32, *mov<mode>_hardfloat64, *movdi_internal32, 6318 *movdi_internal64, *movdf_update1): Set size attribute to '64'. 6319 (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3, sqrt<mode>2, 6320 copysign<mode>3, neg<mode>2_hw, abs<mode>2_hw, *nabs<mode>2_hw, 6321 *fma<mode>4_hw, *fms<mode>4_hw, *nfma<mode>4_hw, *nfms<mode>4_hw, 6322 extend<SFDF:mode><IEEE128:mode>2_hw, trunc<mode>df2_hw, 6323 *xscvqp<su>wz_<mode>, *xscvqp<su>dz_<mode>, *xscv<su>dqp_<mode>, 6324 *trunc<mode>df2_odd): Set size attribute to '128'. 6325 (*cmp<mode>_hw): Change type to veccmp and set size attribute to '128'. 6326 * config/rs6000/power6.md (power6-fp): Include dfp type. 6327 * config/rs6000/power7.md (power7-fp): Likewise. 6328 * config/rs6000/power8.md (power8-fp): Likewise. 6329 * config/rs6000/power9.md: New file. 6330 * config/rs6000/t-rs6000 (MD_INCLUDES): Add power9.md. 6331 * config/rs6000/htm.md (*tabort, *tabort<wd>c, *tabort<wd>ci, 6332 *trechkpt, *treclaim, *tsr, *ttest): Change type attribute to 6333 htmsimple. 6334 * config/rs6000/dfp.md (extendsddd2, truncddsd2, extendddtd2, 6335 trunctddd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3, 6336 divtd3, *cmpdd_internal1, *cmptd_internal1, floatdidd2, floatditd2, 6337 ftruncdd2, fixdddi2, ftrunctd2, fixtddi2, dfp_ddedpd_<mode>, 6338 dfp_denbcd_<mode>, dfp_dxex_<mode>, dfp_diex_<mode>, dfp_dscli_<mode>, 6339 dfp_dscri_<mode>): Change type attribute to dfp. 6340 * config/rs6000/crypto.md (crypto_vshasigma<CR_char>): Change type 6341 attribute to vecsimple. 6342 * config/rs6000/rs6000.c (power9_cost): Update costs, cache size 6343 and prefetch streams. 6344 (rs6000_option_override_internal): Remove temporary code setting 6345 tuning to power8. Don't set rs6000_sched_groups for power9. 6346 (last_scheduled_insn): Change to rtx_insn *. 6347 (divide_cnt, vec_load_pendulum): New variables. 6348 (rs6000_adjust_cost): Add Power9 to test for store->load separation. 6349 (rs6000_issue_rate): Set issue rate for Power9. 6350 (is_power9_pairable_vec_type): New. 6351 (power9_sched_reorder2): New. 6352 (rs6000_sched_reorder2): Call new function for Power9 specific 6353 reordering. 6354 (insn_must_be_first_in_group): Remove Power9. 6355 (insn_must_be_last_in_group): Likewise. 6356 (force_new_group): Likewise. 6357 (rs6000_sched_init): Fix initialization of last_scheduled_insn. 6358 Initialize divide_cnt/vec_load_pendulum. 6359 (_rs6000_sched_context, rs6000_init_sched_context, 6360 rs6000_set_sched_context): Handle context save/restore of new 6361 variables. 6362 63632016-07-05 Pat Haugen <pthaugen@us.ibm.com> 6364 6365 Backport from mainline 6366 2016-06-27 Pat Haugen <pthaugen@us.ibm.com> 6367 6368 * config/rs6000/rs6000.md ('type' attribute): Add 6369 veclogical,veccmpfx,vecexts,vecmove insn types. 6370 (*abs<mode>2_fpr, *nabs<mode>2_fpr, *neg<mode>2_fpr, *extendsfdf2_fpr, 6371 copysign<mode>3_fcpsgn, trunc<mode>df2_internal1, neg<mode>2_internal, 6372 p8_fmrgow_<mode>, pack<mode>): Change type to fpsimple. 6373 (*xxsel<mode>, copysign<mode>3_hard, neg<mode>2_hw, abs<mode>2_hw, 6374 *nabs<mode>2_hw): Change type to vecmove. 6375 (*and<mode>3_internal, *bool<mode>3_internal, *boolc<mode>3_internal, 6376 *boolcc<mode>3_internal, *eqv<mode>3_internal, 6377 *one_cmpl<mode>3_internal, *ieee_128bit_vsx_neg<mode>2_internal, 6378 *ieee_128bit_vsx_abs<mode>2_internal, 6379 *ieee_128bit_vsx_nabs<mode>2_internal, extendkftf2, trunctfkf2, 6380 *ieee128_mfvsrd_64bit, *ieee128_mfvsrd_32bit, *ieee128_mtvsrd_64bit, 6381 *ieee128_mtvsrd_32bit): Change type to veclogical. 6382 (mov<mode>_hardfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64, 6383 *movdi_internal32, *movdi_internal64): Update insn types. 6384 * config/rs6000/vsx.md (*vsx_le_undo_permute_<mode>, 6385 vsx_extract_<mode>): Change type to veclogical. 6386 (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns): Change type to vecmove. 6387 (vsx_sign_extend_qi_<mode>, *vsx_sign_extend_hi_<mode>, 6388 *vsx_sign_extend_si_v2di): Change type to vecexts. 6389 * config/rs6000/altivec.md (*altivec_mov<mode>, *altivec_movti): Change 6390 type to veclogical. 6391 (*altivec_eq<mode>, *altivec_gt<mode>, *altivec_gtu<mode>, 6392 *altivec_vcmpequ<VI_char>_p, *altivec_vcmpgts<VI_char>_p, 6393 *altivec_vcmpgtu<VI_char>_p): Change type to veccmpfx. 6394 (*altivec_vsel<mode>, *altivec_vsel<mode>_uns): Change type to vecmove. 6395 * config/rs6000/dfp.md (*negdd2_fpr, *absdd2_fpr, *nabsdd2_fpr, 6396 negtd2, *abstd2_fpr, *nabstd2_fpr): Change type to fpsimple. 6397 * config/rs6000/40x.md (ppc405-float): Add fpsimple. 6398 * config/rs6000/440.md (ppc440-fp): Add fpsimple. 6399 * config/rs6000/476.md (ppc476-fp): Add fpsimple. 6400 * config/rs6000/601.md (ppc601-fp): Add fpsimple. 6401 * config/rs6000/603.md (ppc603-fp): Add fpsimple. 6402 * config/rs6000/6xx.md (ppc604-fp): Add fpsimple. 6403 * config/rs6000/7xx.md (ppc750-fp): Add fpsimple. 6404 (ppc7400-vecsimple): Add veclogical, vecmove, veccmpfx. 6405 * config/rs6000/7450.md (ppc7450-fp): Add fpsimple. 6406 (ppc7450-vecsimple): Add veclogical, vecmove. 6407 (ppc7450-veccmp): Add veccmpfx. 6408 * config/rs6000/8540.md (ppc8540_simple_vector): Add veclogical, 6409 vecmove. 6410 (ppc8540_vector_compare): Add veccmpfx. 6411 * config/rs6000/a2.md (ppca2-fp): Add fpsimple. 6412 * config/rs6000/cell.md (cell-fp): Add fpsimple. 6413 (cell-vecsimple): Add veclogical, vecmove. 6414 (cell-veccmp): Add veccmpfx. 6415 * config/rs6000/e300c2c3.md (ppce300c3_fp): Add fpsimple. 6416 * config/rs6000/e6500.md (e6500_vecsimple): Add veclogical, vecmove, 6417 veccmpfx. 6418 * config/rs6000/mpc.md (mpccore-fp): Add fpsimple. 6419 * config/rs6000/power4.md (power4-fp): Add fpsimple. 6420 (power4-vecsimple): Add veclogical, vecmove. 6421 (power4-veccmp): Add veccmpfx. 6422 * config/rs6000/power5.md (power5-fp): Add fpsimple. 6423 * config/rs6000/power6.md (power6-fp): Add fpsimple. 6424 (power6-vecsimple): Add veclogical, vecmove. 6425 (power6-veccmp): Add veccmpfx. 6426 * config/rs6000/power7.md (power7-fp): Add fpsimple. 6427 (power7-vecsimple): Add veclogical, vecmove, veccmpfx. 6428 * config/rs6000/power8.md (power8-fp): Add fpsimple. 6429 (power8-vecsimple): Add veclogical, vecmove, veccmpfx. 6430 * config/rs6000/rs64.md (rs64a-fp): Add fpsimple. 6431 * config/rs6000/titan.md (titan_fp): Add fpsimple. 6432 * config/rs6000/xfpu.md (fp-default, fp-addsub-s, fp-addsub-d): Add 6433 fpsimple. 6434 * config/rs6000/rs6000.c (rs6000_adjust_cost): Add TYPE_FPSIMPLE. 6435 64362016-07-05 Kelvin Nilsen <kelvin@gcc.gnu.org> 6437 6438 Backport from mainline r237391 6439 2016-06-13 Kelvin Nilsen <kelvin@gcc.gnu.org> 6440 6441 * config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the 6442 RS6000_BTM_MODULO flag into the set of flags that are considered 6443 to be part of the common configuration. 6444 64452016-07-04 Jakub Jelinek <jakub@redhat.com> 6446 6447 PR c++/71739 6448 * tree.c (attribute_value_equal): Use get_attribute_name instead of 6449 directly using TREE_PURPOSE. 6450 64512016-07-04 Segher Boessenkool <segher@kernel.crashing.org> 6452 6453 Backport from mainline 6454 2016-06-27 Segher Boessenkool <segher@kernel.crashing.org> 6455 6456 PR target/71670 6457 * config/rs6000/rs6000.md (ashdi3_extswsli_dot): Use 6458 gen_ashdi3_extswsli_dot2 instead of gen_ashdi3_extswsli_dot. 6459 64602016-07-02 Jakub Jelinek <jakub@redhat.com> 6461 6462 Backported from mainline 6463 2016-06-28 Jakub Jelinek <jakub@redhat.com> 6464 6465 PR middle-end/71626 6466 * config/i386/i386.c (ix86_expand_vector_move): For SUBREG of 6467 a constant, force its SUBREG_REG into memory or register instead 6468 of whole op1. 6469 6470 2016-06-20 Jakub Jelinek <jakub@redhat.com> 6471 6472 PR target/71559 6473 * config/i386/i386.c (ix86_fp_cmp_code_to_pcmp_immediate): Fix up 6474 returned values and add UN*/LTGT/*ORDERED cases with values matching 6475 D operand modifier on vcmp for AVX. 6476 64772016-07-01 Kelvin Nilsen <kelvin@gcc.gnu.org> 6478 6479 Backport from trunk r237659 6480 2016-06-21 Kelvin Nilsen <kelvin@gcc.gnu.org> 6481 6482 * config/rs6000/rs6000.h: Add conditional preprocessing directives 6483 to disable Power9-specific compiler features if HAVE_AS_POWER9 is 6484 not defined. 6485 64862016-07-01 Peter Bergner <bergner@vnet.ibm.com> 6487 6488 Backport from trunk 6489 2016-06-27 Peter Bergner <bergner@vnet.ibm.com> 6490 6491 PR target/71656 6492 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add 6493 OPTION_MASK_P9_DFORM_VECTOR. 6494 * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not 6495 disable -mpower9-dform-vector when using reload. 6496 (quad_address_p): Remove 'gpr_p' argument and all associated code. 6497 New 'strict' argument. Update all callers. Add strict addressing 6498 support. 6499 (rs6000_legitimate_offset_address_p): Remove call to 6500 virtual_stack_registers_memory_p. 6501 (rs6000_legitimize_reload_address): Add quad address support. 6502 (rs6000_legitimate_address_p): Move call to quad_address_p above 6503 call to virtual_stack_registers_memory_p. Adjust quad_address_p args 6504 to account for new strict usage. 6505 (rs6000_output_move_128bit): Adjust quad_address_p args to account 6506 for new strict usage. 6507 * config/rs6000/predicates.md (quad_memory_operand): Likewise. 6508 65092016-07-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 6510 6511 Backport from mainline 6512 2016-06-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 6513 6514 * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): New #define. 6515 (BU_FLOAT128_1): Likewise. 6516 (FABSQ): Likewise. 6517 (COPYSIGNQ): Likewise. 6518 (RS6000_BUILTIN_NANQ): Likewise. 6519 (RS6000_BUILTIN_NANSQ): Likewise. 6520 (RS6000_BUILTIN_INFQ): Likewise. 6521 (RS6000_BUILTIN_HUGE_VALQ): Likewise. 6522 * config/rs6000/rs6000.c (rs6000_fold_builtin): New prototype. 6523 (TARGET_FOLD_BUILTIN): New #define. 6524 (rs6000_builtin_mask_calculate): Add TARGET_FLOAT128 entry. 6525 (rs6000_invalid_builtin): Add handling for RS6000_BTM_FLOAT128. 6526 (rs6000_fold_builtin): New target hook implementation, handling 6527 folding of 128-bit NaNs and infinities. 6528 (rs6000_init_builtins): Initialize const_str_type_node; ensure all 6529 entries are filled in to avoid problems during bootstrap 6530 self-test; define builtins for 128-bit NaNs and infinities. 6531 (rs6000_opt_mask): Add entry for float128. 6532 * config/rs6000/rs6000.h (RS6000_BTM_FLOAT128): New #define. 6533 (RS6000_BTM_COMMON): Include RS6000_BTM_FLOAT128. 6534 (rs6000_builtin_type_index): Add RS6000_BTI_const_str. 6535 (const_str_type_node): New #define. 6536 * config/rs6000/rs6000.md (copysign<mode>3 for IEEE128): Convert 6537 to a define_expand that dispatches to either copysign<mode>3_soft 6538 or copysign<mode>3_hard. 6539 (copysign<mode>3_hard): Rename from copysign<mode>3. 6540 (copysign<mode>3_soft): New define_insn. 6541 * doc/extend.texi: Document new builtins. 6542 65432016-07-01 Peter Bergner <bergner@vnet.ibm.com> 6544 6545 Backport from trunk 6546 2016-07-01 Peter Bergner <bergner@vnet.ibm.com> 6547 6548 PR target/71698 6549 * config/rs6000/rs6000.c (rs6000_secondary_reload_simple_move): Disallow 6550 TDmode values. 6551 65522016-07-01 Kelvin Nilsen <kelvin@gcc.gnu.org> 6553 6554 Backport from trunk r236992 6555 2016-06-01 Kelvin Nilsen <kelvin@gcc.gnu.org> 6556 6557 * config/rs6000/altivec.h (vec_slv): New macro. 6558 (vec_srv): New macro. 6559 * config/rs6000/altivec.md (UNSPEC_VSLV): New value. 6560 (UNSPEC_VSRV): New value. 6561 (vslv): New insn. 6562 (vsrv): New insn. 6563 * config/rs6000/rs6000-builtin.def (vslv): New builtin definition. 6564 (vsrv): New builtin definition. 6565 * config/rs6000/rs6000-c.c (P9V_BUILTIN_VSLV): Macro expansion to 6566 define argument types for new builtin. 6567 (P9V_BUILTIN_VSRV): Macro expansion to define argument types for 6568 new builtin. 6569 * doc/extend.texi: Document the new vec_vslv and vec_srv built-in 6570 functions. 6571 65722016-07-01 Eric Botcazou <ebotcazou@adacore.com> 6573 6574 * config/arm/arm.c (arm_function_ok_for_sibcall): Add another check 6575 for NULL decl. 6576 65772016-06-30 Kelvin Nilsen <kelvin@gcc.gnu.org> 6578 6579 Backport from trunk r237390 6580 2016-06-13 Kelvin Nilsen <kelvin@gcc.gnu.org> 6581 6582 * config/rs6000/altivec.h (vec_absd): New macro for vector absolute 6583 difference unsigned. 6584 (vec_absdb): New macro for vector absolute difference unsigned 6585 byte. 6586 (vec_absdh): New macro for vector absolute difference unsigned 6587 half-word. 6588 (vec_absdw): New macro for vector absolute difference unsigned word. 6589 * config/rs6000/altivec.md (UNSPEC_VADU): New value. 6590 (vadu<mode>3): New insn. 6591 (*p9_vadu<mode>3): New insn. 6592 * config/rs6000/rs6000-builtin.def (vadub): New built-in 6593 definition. 6594 (vaduh): New built-in definition. 6595 (vaduw): New built-in definition. 6596 (vadu): New overloaded built-in definition. 6597 (vadub): New overloaded built-in definition. 6598 (vaduh): New overloaded built-in definition. 6599 (vaduw): New overloaded built-in definition. 6600 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add 6601 overloaded vector absolute difference unsigned functions. 6602 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document 6603 the ISA 3.0 vector absolute difference unsigned built-in functions. 6604 66052016-06-30 David Malcolm <dmalcolm@redhat.com> 6606 6607 Backport from trunk r237880. 6608 2016-06-30 David Malcolm <dmalcolm@redhat.com> 6609 6610 PR driver/71651 6611 * gcc.c (driver::build_option_suggestions): Pass "option" to 6612 add_misspelling_candidates. 6613 * opts-common.c (add_misspelling_candidates): Add "option" param; 6614 use it to avoid adding negated forms for options marked with 6615 RejectNegative. 6616 * opts.h (add_misspelling_candidates): Add "option" param. 6617 66182016-06-30 Jakub Jelinek <jakub@redhat.com> 6619 6620 PR middle-end/71693 6621 * fold-const.c (fold_binary_loc) <case RROTATE_EXPR>: Cast 6622 TREE_OPERAND (arg0, 0) and TREE_OPERAND (arg0, 1) to type 6623 first when permuting bitwise operation with rotate. Cast 6624 TREE_OPERAND (arg0, 0) to type when cancelling two rotations. 6625 66262016-06-30 Martin Liska <mliska@suse.cz> 6627 6628 Parting backport from mainline 6629 2016-06-29 Martin Liska <mliska@suse.cz> 6630 6631 * ipa-inline-transform.c (inline_call): Remove unnecessary call 6632 of build_optimization_node. 6633 66342016-06-29 Eric Botcazou <ebotcazou@adacore.com> 6635 6636 Backport from mainline 6637 2016-06-09 Eric Botcazou <ebotcazou@adacore.com> 6638 6639 * df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET. 6640 66412016-06-27 Michael Meissner <meissner@linux.vnet.ibm.com> 6642 6643 Back port from trunk 6644 2016-06-21 Michael Meissner <meissner@linux.vnet.ibm.com> 6645 6646 * stor-layout.c (layout_type): Move setting complex MODE to 6647 layout_type, instead of setting it ahead of time by the caller. 6648 6649 Back port from trunk 6650 2016-05-11 Alan Modra <amodra@gmail.com> 6651 6652 * config/rs6000/rs6000.c (is_complex_IBM_long_double, 6653 abi_v4_pass_in_fpr): New functions. 6654 (rs6000_function_arg_boundary): Exclude complex IBM long double 6655 from 64-bit alignment when ABI_V4. 6656 (rs6000_function_arg, rs6000_function_arg_advance_1, 6657 rs6000_gimplify_va_arg): Use abi_v4_pass_in_fpr. 6658 6659 Back port from trunk 6660 2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com> 6661 6662 * machmode.h (mode_complex): Add support to give the complex mode 6663 for a given mode. 6664 (GET_MODE_COMPLEX_MODE): Likewise. 6665 * stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode 6666 stored by build_complex_type and gfc_build_complex_type instead of 6667 trying to figure out the appropriate mode based on the size. Raise 6668 an assertion error, if the type was not set. 6669 * genmodes.c (struct mode_data): Add field for the complex type of 6670 the given type. 6671 (blank_mode): Likewise. 6672 (make_complex_modes): Remember the complex mode created in the 6673 base type. 6674 (emit_mode_complex): Write out the mode_complex array to map a 6675 type mode to the complex version. 6676 (emit_insn_modes_c): Likewise. 6677 * tree.c (build_complex_type): Set the complex type to use before 6678 calling layout_type. 6679 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add 6680 support for __float128 complex datatypes. 6681 (rs6000_hard_regno_mode_ok): Likewise. 6682 (rs6000_setup_reg_addr_masks): Likewise. 6683 (rs6000_complex_function_value): Likewise. 6684 * config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise. 6685 __float128 and __ibm128 complex. 6686 (FLOAT128_IBM_P): Likewise. 6687 (ALTIVEC_ARG_MAX_RETURN): Likewise. 6688 * doc/extend.texi (Additional Floating Types): Document that 6689 -mfloat128 must be used to enable __float128. Document complex 6690 __float128 and __ibm128 support. 6691 66922016-06-24 Jakub Jelinek <jakub@redhat.com> 6693 6694 PR tree-optimization/71647 6695 * omp-low.c (lower_rec_input_clauses): Convert 6696 omp_clause_aligned_alignment (c) to size_type_node for the 6697 last argument of __builtin_assume_aligned. 6698 66992016-06-22 Eric Botcazou <ebotcazou@adacore.com> 6700 6701 * function.c (assign_parm_setup_reg): Prevent sharing in another case. 6702 67032016-06-21 Georg-Johann Lay <avr@gjlay.de> 6704 6705 Backport from 2016-06-21 trunk r237639. 6706 6707 PR target/30417 6708 * config/avr/gen-avr-mmcu-specs.c (print_mcu): 6709 [*link_data_start]: Wrap -Tdata into %{!Tdata:...}. 6710 [*link_text_start]: Wrap -Ttext into %{!Ttext:...}. 6711 67122016-06-21 Georg-Johann Lay <avr@gjlay.de> 6713 6714 PR target/71103 6715 * config/avr/avr.md (movqi): Only handle loading subreg:qi of 6716 constant addresses if can_create_pseudo_p. 6717 67182016-06-21 Jakub Jelinek <jakub@redhat.com> 6719 6720 PR tree-optimization/71588 6721 * tree-ssa-strlen.c (valid_builtin_call): New function. 6722 (adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use 6723 it. 6724 6725 Backported from mainline 6726 2016-06-20 Jakub Jelinek <jakub@redhat.com> 6727 6728 PR middle-end/71581 6729 * tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL, 6730 see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created 6731 for conversion of scalar user var to complex type and use the 6732 underlying SSA_NAME_VAR in that case. If EXPR is still NULL, 6733 punt. 6734 6735 2016-06-16 Jakub Jelinek <jakub@redhat.com> 6736 6737 * gimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs 6738 with base of reference to struct. 6739 67402016-06-20 Ilya Enkovich <ilya.enkovich@intel.com> 6741 6742 Backport from mainline r237484. 6743 2016-06-15 Ilya Enkovich <ilya.enkovich@intel.com> 6744 6745 PR middle-end/71529 6746 * ipa-chkp.c (chkp_build_instrumented_fndecl): Fix 6747 DECL_CONTEXT for copied arguments. 6748 67492016-06-20 Georg-Johann Lay <avr@gjlay.de> 6750 Pitchumani Sivanupandi <pitchumani.s@atmel.com> 6751 6752 Backport from 2016-06-20 trunk r237589, r236558. 6753 6754 PR target/71103 6755 * config/avr/avr.md (movqi): Handle loading subreg:qi (const, 6756 symbol_ref,label_ref). 6757 67582016-06-16 Jakub Jelinek <jakub@redhat.com> 6759 6760 PR target/71554 6761 * config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p. 6762 (setcc + and peephole2): Likewise. 6763 67642016-06-15 Andreas Tobler <andreast@gcc.gnu.org> 6765 6766 Backported from mainline 6767 2016-06-14 Andreas Tobler <andreast@gcc.gnu.org> 6768 6769 * config/arm/freebsd.h: Only enable unaligned access for armv6 on 6770 FreeBSD 11 and above. 6771 67722016-06-15 Ilya Verbin <ilya.verbin@intel.com> 6773 6774 Backport from mainline 6775 2016-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6776 6777 * config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus. 6778 67792016-06-14 Jakub Jelinek <jakub@redhat.com> 6780 6781 Backported from mainline 6782 2016-06-10 Jakub Jelinek <jakub@redhat.com> 6783 6784 PR middle-end/71494 6785 * tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO 6786 without LABEL_DECL, set *handled_ops_p to false instead of true. 6787 6788 2016-06-08 Jakub Jelinek <jakub@redhat.com> 6789 Richard Biener <rguenther@suse.de> 6790 6791 PR c++/71448 6792 * fold-const.c (fold_comparison): Handle CONSTANT_CLASS_P (base0) 6793 the same as DECL_P (base0) for indirect_base0. Use equality_code 6794 in one further place. 6795 6796 2016-06-04 Jakub Jelinek <jakub@redhat.com> 6797 6798 PR tree-optimization/71405 6799 * tree-ssa.c (execute_update_addresses_taken): For clobber with 6800 incompatible type, build a new clobber with the right type instead 6801 of building a VIEW_CONVERT_EXPR around it. 6802 68032016-06-13 Eric Botcazou <ebotcazou@adacore.com> 6804 6805 * tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and 6806 update shared_lookup_references only once after changing operands. 6807 68082016-06-13 Richard Biener <rguenther@suse.de> 6809 6810 PR tree-optimization/71505 6811 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make 6812 assert match comment. 6813 68142016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 6815 6816 Backport from mainline 6817 2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 6818 6819 PR target/71379 6820 * config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by 6821 one. 6822 68232016-06-10 Thomas Schwinge <thomas@codesourcery.com> 6824 6825 PR middle-end/71373 6826 Backport from trunk r237291: 6827 * tree-nested.c (convert_nonlocal_omp_clauses) 6828 (convert_local_omp_clauses): Handle OMP_CLAUSE_ASYNC, 6829 OMP_CLAUSE_WAIT, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO, 6830 OMP_CLAUSE__CACHE_, OMP_CLAUSE_TILE. 6831 6832 Backport from trunk r237291: 6833 * gimplify.c (gimplify_adjust_omp_clauses): Discard 6834 OMP_CLAUSE_TILE. 6835 * omp-low.c (scan_sharing_clauses): Don't expect OMP_CLAUSE_TILE. 6836 6837 Backport from trunk r237290: 6838 * omp-low.c (scan_sharing_clauses): Don't expect 6839 OMP_CLAUSE__CACHE_. 6840 6841 Backport trunk r235964: 6842 2016-05-06 Nathan Sidwell <nathan@codesourcery.com> 6843 6844 * gimple.c (gimple_call_same_target_p): Unique functions are eq. 6845 * tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq 6846 equality first. 6847 68482016-06-09 Michael Meissner <meissner@linux.vnet.ibm.com> 6849 6850 Back port from trunk 6851 2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com> 6852 6853 * config/rs6000/vsx.md (vsx_splat_<mode>, V2DI/V2DF): Simplify 6854 alternatives, eliminating preferred register class. Add support 6855 for the MTVSRDD instruction in ISA 3.0. 6856 (vsx_splat_v4si_internal): Use splat_input_operand instead of 6857 reg_or_indexed_operand. 6858 (vsx_splat_v4sf_internal): Likewise. 6859 6860 Back port from trunk 6861 2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com> 6862 6863 PR target/71186 6864 * config/rs6000/vsx.md (xxspltib_<mode>_nosplit): Add alternatives 6865 for loading up all 0's or all 1's. 6866 6867 Back port from trunk 6868 2016-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> 6869 6870 PR target/70915 6871 * config/rs6000/constraints.md (wE constraint): New constraint 6872 for a vector constant that can be loaded with XXSPLTIB. 6873 (wM constraint): New constraint for a vector constant of a 1's. 6874 (wS constraint): New constraint for a vector constant that can be 6875 loaded with XXSPLTIB and a vector sign extend instruction. 6876 * config/rs6000/predicates.md (xxspltib_constant_split): New 6877 predicates for wE/wS constraints. 6878 (xxspltib_constant_nosplit): Likewise. 6879 (easy_vector_constant): Add support for constants that can be 6880 loaded via XXSPLTIB. 6881 (splat_input_operand): Add support for ISA 3.0 word splat operations. 6882 * config/rs6000/rs6000.c (xxspltib_constant_p): New function to 6883 return if a constant can be loaded with the ISA 3.0 XXSPLTIB 6884 instruction and possibly with a sign extension. 6885 (output_vec_const_move): Add support for XXSPLTIB. If we are 6886 loading up 0/-1 into Altivec registers, prefer using VSPLTISW 6887 instead of XXLXOR/XXLORC. 6888 (rs6000_expand_vector_init): Add support for ISA 3.0 word splat 6889 operations. 6890 (rs6000_legitimize_reload_address): Likewise. 6891 (rs6000_output_move_128bit): Use output_vec_const_move to emit 6892 constants. 6893 * config/rs6000/vsx.md (VSX_M): Add TImode (if -mvsx-timode) and 6894 combine VSX_M and VSX_M2 into one iterator. 6895 (VSX_M2): Likewise. 6896 (VSINT_84): New iterators for loading constants with XXSPLTIB. 6897 (VSINT_842): Likewise. 6898 (UNSPEC_VSX_SIGN_EXTEND): New UNSPEC. 6899 (xxspltib_v16qi): New insns to load up constants with the ISA 3.0 6900 XXSPLTIB instruction. 6901 (xxspltib_<mode>_nosplit): Likewise. 6902 (xxspltib_<mode>_split): New insn to load up constants with 6903 XXSPLTIB and a sign extend instruction. 6904 (vsx_mov<mode>): Replace single move that handled all vector types 6905 with separate 32-bit and 64-bit moves. Combine the movti_<bit> 6906 moves (when -mvsx-timode is in effect) into the main vector 6907 moves. Eliminate separate moves for <VSr> <VSa>, where the 6908 preferred register class (<VSr>) is listed first, and the 6909 secondary register class (<VSa>) is listed second with a '?' to 6910 discourage use. Prefer loading 0/-1 in any VSX register for ISA 6911 3.0, and Altivec registers for ISA 2.06/2.07 (PR target/70915) so 6912 that if the register was involved in a slow operation, the 6913 clear/set operation does not wait for the slow operation to 6914 finish. Adjust the length attributes for 32-bit mode. Use 6915 rs6000_output_move_128bit and drop the use of the string 6916 instructions for 32-bit movti when -mvsx-timode is in effect. Use 6917 spacing so that the alternatives and attributes don't generate 6918 long lines, and put things in columns, so that it is easier to 6919 match up the operands and attributes with the insn alternatives. 6920 (vsx_mov<mode>_64bit): Likewise. 6921 (vsx_mov<mode>_32bit): Likewise. 6922 (vsx_movti_64bit): Fold movti into normal vector moves. 6923 (vsx_movti_32bit): Likewise. 6924 (vsx_splat_<mode>, V4SI/V4SF modes): Add support for ISA 3.0 word 6925 splat instructions. 6926 (vsx_splat_v4si_internal): Likewise. 6927 (vsx_splat_v4sf_internal): Likewise. 6928 (vector fusion peepholes): Use VSX_M instead of VSX_M2. 6929 (vsx_sign_extend_qi_<mode>): New ISA 3.0 instructions to sign 6930 extend vector elements. 6931 (vsx_sign_extend_hi_<mode>): Likewise. 6932 (vsx_sign_extend_si_v2di): Likewise. 6933 * config/rs6000/rs6000-protos.h (xxspltib_constant_p): Add 6934 declaration. 6935 * doc/md.texi (PowerPC constraints): Document the wE, wM, and wS 6936 constraints. Add trailing period to wL documentation. 6937 69382016-06-08 Jose E. Marchesi <jose.marchesi@oracle.com> 6939 6940 Backport from mainline 6941 2016-06-08 Jose E. Marchesi <jose.marchesi@oracle.com> 6942 6943 * config/sparc/driver-sparc.c (cpu_names): Fix the entry for the 6944 SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma). 6945 69462016-06-08 Eric Botcazou <ebotcazou@adacore.com> 6947 6948 Backport from mainline 6949 2016-06-06 Jose E. Marchesi <jose.marchesi@oracle.com> 6950 6951 * config/sparc/sparc.md (cpu): Add niagara7 cpu type. 6952 Include the M7 SPARC DFA scheduler. 6953 New attribute v3pipe. 6954 Annotate insns with v3pipe where appropriate. 6955 Define cpu_feature vis4. 6956 Add lzd instruction type and set it on clzdi_sp64 and clzsi_sp64. 6957 Add (V8QI "8") to vbits. 6958 Add insns {add,sub}v8qi3 6959 Add insns ss{add,sub}v8qi3 6960 Add insns us{add,sub}{v8qi,v4hi}3 6961 Add insns {min,max}{v8qi,v4hi,v2si}3 6962 Add insns {minu,maxu}{v8qi,v4hi,v2si}3 6963 Add insns fpcmp{le,gt,ule,ug,ule,ugt}{8,16,32}_vis. 6964 * config/sparc/niagara4.md: Add a comment explaining the 6965 discrepancy between the documented latenty numbers and the 6966 implemented ones. 6967 * config/sparc/niagara7.md: New file. 6968 * configure.ac (HAVE_AS_SPARC5_VIS4): Define if the assembler 6969 supports SPARC5 and VIS 4.0 instructions. 6970 * configure: Regenerate. 6971 * config.in: Likewise. 6972 * config.gcc: niagara7 is a supported cpu in sparc*-*-* targets. 6973 * config/sparc/sol2.h (ASM_CPU32_DEFAUILT_SPEC): Set for 6974 TARGET_CPU_niagara7. 6975 (ASM_CPU64_DEFAULT_SPEC): Likewise. 6976 (CPP_CPU_SPEC): Handle niagara7. 6977 (ASM_CPU_SPEC): Likewise. 6978 * config/sparc/sparc-opts.h (processor_type): Add 6979 PROCESSOR_NIAGARA7. 6980 (mvis4): New option. 6981 * config/sparc/sparc.h (TARGET_CPU_niagara7): Define. 6982 (AS_NIAGARA7_FLAG): Define. 6983 (ASM_CPU64_DEFAULT_SPEC): Set for niagara7. 6984 (CPP_CPU64_DEFAULT_SPEC): Likewise. 6985 (CPP_CPU_SPEC): Handle niagara7. 6986 (ASM_CPU_SPEC): Likewise. 6987 * config/sparc/sparc.c (niagara7_costs): Define. 6988 (sparc_option_override): Handle niagara7 and adjust cache-related 6989 parameters with better values for niagara cpus. Also support VIS4. 6990 (sparc32_initialize_trampoline): Likewise. 6991 (sparc_use_sched_lookahead): Likewise. 6992 (sparc_issue_rate): Likewise. 6993 (sparc_register_move_cost): Likewise. 6994 (dump_target_flag_bits): Support VIS4. 6995 (sparc_vis_init_builtins): Likewise. 6996 (sparc_builtins): Likewise. 6997 * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ for 6998 VIS4 4.0. 6999 * config/sparc/driver-sparc.c (cpu_names): Add SPARC-M7 and 7000 UltraSparc M7. 7001 * config/sparc/sparc.opt (sparc_processor_type): New value 7002 niagara7. 7003 * config/sparc/visintrin.h (__attribute__): Prototypes for the 7004 VIS4 builtins. 7005 * doc/invoke.texi (SPARC Options): Document -mcpu=niagara7 and 7006 -mvis4. 7007 * doc/extend.texi (SPARC VIS Built-in Functions): Document the 7008 VIS4 builtins. 7009 7010 2016-05-30 Jose E. Marchesi <jose.marchesi@oracle.com> 7011 7012 * config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and 7013 tune_64. 7014 * doc/install.texi (--with-cpu-32, --with-cpu-64): Document 7015 support on SPARC. 7016 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Add entries for 7017 cpu_32, cpu_64, tune_32 and tune_64. 7018 * config/sparc/sol2.h (OPTION_DEFAULT_SPECS): Likewise. 7019 70202016-06-08 Ilya Verbin <ilya.verbin@intel.com> 7021 7022 Backport from mainline 7023 2016-05-25 Ilya Verbin <ilya.verbin@intel.com> 7024 7025 * config/i386/i386-builtin-types.def: Add V16SI_FTYPE_V16SF, 7026 V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND. 7027 * config/i386/i386.c (enum ix86_builtins): Add 7028 IX86_BUILTIN_CVTPS2DQ512_MASK, IX86_BUILTIN_FLOORPS512, 7029 IX86_BUILTIN_FLOORPD512, IX86_BUILTIN_CEILPS512, IX86_BUILTIN_CEILPD512, 7030 IX86_BUILTIN_TRUNCPS512, IX86_BUILTIN_TRUNCPD512, 7031 IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_VEC_PACK_SFIX512, 7032 IX86_BUILTIN_FLOORPS_SFIX512, IX86_BUILTIN_CEILPS_SFIX512, 7033 IX86_BUILTIN_ROUNDPS_AZ_SFIX512. 7034 (builtin_description bdesc_args): Add __builtin_ia32_floorps512, 7035 __builtin_ia32_ceilps512, __builtin_ia32_truncps512, 7036 __builtin_ia32_floorpd512, __builtin_ia32_ceilpd512, 7037 __builtin_ia32_truncpd512, __builtin_ia32_cvtps2dq512, 7038 __builtin_ia32_vec_pack_sfix512, __builtin_ia32_roundps_az_sfix512, 7039 __builtin_ia32_floorps_sfix512, __builtin_ia32_ceilps_sfix512. 7040 Change IX86_BUILTIN_CVTPS2DQ512 to IX86_BUILTIN_CVTPS2DQ512_MASK for 7041 __builtin_ia32_cvtps2dq512_mask. 7042 (ix86_expand_args_builtin): Handle V8DF_FTYPE_V8DF_ROUND, 7043 V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF. 7044 (ix86_builtin_vectorized_function): Handle builtins mentioned above. 7045 * config/i386/sse.md 7046 (<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name><round_name>): 7047 Rename to ... 7048 (avx512f_fix_notruncv16sfv16si<mask_name><round_name>): ... this. 7049 (<mask_codefor>avx512f_cvtpd2dq512<mask_name><round_name>): Rename 7050 to ... 7051 (avx512f_cvtpd2dq512<mask_name><round_name>): ... this. 7052 (avx512f_vec_pack_sfix_v8df): New define_expand. 7053 (avx512f_roundpd512): Rename to ... 7054 (avx512f_round<castmode>512): ... this. Change iterator. 7055 (avx512f_roundps512_sfix): New define_expand. 7056 (round<mode>2_sfix): Change iterator. 7057 70582016-06-07 Peter Bergner <bergner@vnet.ibm.com> 7059 7060 Backport from mainline 7061 2016-06-07 Peter Bergner <bergner@vnet.ibm.com> 7062 7063 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and 7064 -mno-htm. 7065 70662016-06-07 Uros Bizjak <ubizjak@gmail.com> 7067 7068 PR target/71389 7069 * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): 7070 Copy op1 RTX to avoid invalid sharing. 7071 (ix86_expand_vector_move_misalign): Ditto. 7072 70732016-06-06 Jakub Jelinek <jakub@redhat.com> 7074 7075 PR tree-optimization/71259 7076 * tree-vect-slp.c (vect_get_constant_vectors): For 7077 VECTOR_BOOLEAN_TYPE_P, return all ones constant instead of 7078 one for constant op, and use COND_EXPR for non-constant. 7079 70802016-06-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 7081 7082 Backport from trunk 7083 2016-06-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 7084 7085 PR target/70830 7086 * config/arm/arm.c (arm_output_multireg_pop): Guard "pop" on update. 7087 70882016-06-05 Uros Bizjak <ubizjak@gmail.com> 7089 7090 Backport from mainline 7091 2016-06-01 Uros Bizjak <ubizjak@gmail.com> 7092 Jocelyn Mayer <l_indien@magic.fr> 7093 7094 PR target/67310 7095 * config/i386/driver-i386.c (host_detect_local_cpu): Correctly 7096 detect processor family for signature_CENTAUR_ebx. 7097 <case PROCESSOR_I486>: Pass c3, winchip2 or winchip-c6 for 7098 signature_CENTAUR_ebx. 7099 <case PROCESSOR _PENTIUMPRO>: Pass c3-2 for signature_CENTAUR_ebx. 7100 <default>: Pass x86-64 for has_longmode. 7101 71022016-06-03 Jakub Jelinek <jakub@redhat.com> 7103 7104 PR middle-end/71387 7105 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): If redirecting 7106 to noreturn e->callee->decl that has void return type and void 7107 arguments, adjust gimple_call_fntype and remove lhs even if it had 7108 previously addressable type. 7109 71102016-06-02 Michael Meissner <meissner@linux.vnet.ibm.com> 7111 7112 Back port from trunk 7113 2016-05-26 Michael Meissner <meissner@linux.vnet.ibm.com> 7114 7115 * config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): New function 7116 for ISA 3.0 min/max support. 7117 (rs6000_emit_p9_fp_cmove): New function for ISA 3.0 floating point 7118 conditional move support. 7119 (rs6000_emit_cmove): Call rs6000_emit_p9_fp_minmax and 7120 rs6000_emit_p9_fp_cmove if the ISA 3.0 instructions are 7121 available. 7122 * config/rs6000/rs6000.md (SFDF2): New iterator to allow doing 7123 conditional moves where the comparison type is different from move 7124 type. 7125 (fp_minmax): New code iterator for smin/smax. 7126 (minmax): New code attributes for min/max. 7127 (SMINMAX): Likewise. 7128 (smax<mode>3): Combine min, max insns into one insn using the 7129 fp_minmax code iterator. Add support for ISA 3.0 min/max 7130 instructions that don't need -ffast-math. 7131 (s<minmax><mode>3): Likewise. 7132 (smax<mode>3_vsx): Likewise. 7133 (smin<mode>3): Likewise. 7134 (s<minmax><mode>3_vsx): Likewise. 7135 (smin<mode>3_vsx): Likewise. 7136 (pre-VSX min/max splitters): Likewise. 7137 (s<minmax><mode>3_fpr): Likewise. 7138 (movsfcc): Rewrite floating point conditional moves to combine 7139 SFmode/DFmode into a single insn. 7140 (mov<mode>cc): Likewise. 7141 (movdfcc): Likewise. 7142 (fselsfsf4): Combine FSEL cases into a single insn, using SFDF and 7143 SFDF2 iterators to handle all combinations. 7144 (fseldfsf4): Likewise. 7145 (fsel<SFDF:mode><SFDF2:mode>4): Likewise. 7146 (fseldfdf4): Likewise. 7147 (fselsfdf4): Likewise. 7148 (mov<SFDF:mode><SFDF2:mode>cc_p9): Add support for the ISA 3.0 7149 comparison instructions that set a 0/-1 mask, and use it for 7150 floating point conditional move via XXSEL. 7151 (fpmask<mode>): Likewise. 7152 (xxsel<mode>): Likewise. 7153 * config/rs6000/predicates.md (min_max_operator): Delete, no 7154 longer used. 7155 (fpmask_comparison_operaton): New insn for ISA 3.0 comparison 7156 instructions that generate a 0/-1 mask for use with XXSEL. 7157 * config/rs6000/rs6000.h (TARGET_MINMAX_SF): New helper macros to 7158 say whether floating point min/max is available, either through 7159 FSEL, ISA 2.06 min/max, and ISA 3.0 min/max instrucitons. 7160 (TARGET_MINMAX_DF): Likewise. 7161 7162 Back port from trunk 7163 2016-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> 7164 7165 * config/rs6000/predicate.md (all_ones_constant): New predicate 7166 for vector constant with all 1's set. 7167 71682016-06-02 Kelvin Nilsen <kelvin@gcc.gnu.org> 7169 7170 Back port from trunk 7171 2016-05-19 Kelvin Nilsen <kelvin@gcc.gnu.org> 7172 7173 * config/rs6000/altivec.md (UNSPEC_DARN): New unspec constant. 7174 (UNSPEC_DARN_32): New unspec constant. 7175 (UNSPEC_DARN_RAW): New unspec constant. 7176 (darn_32): New instruction. 7177 (darn_raw): New instruction. 7178 (darn): New instruction. 7179 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_0): Add 7180 support and documentation for this macro. 7181 (BU_P9_MISC_1): New macro definition. 7182 (BU_P9_64BIT_MISC_0): New macro definition. 7183 (BU_P9_MISC_0): New macro definition. 7184 (darn_32): New builtin definition. 7185 (darn_raw): New builtin definition. 7186 (darn): New builtin definition. 7187 * config/rs6000/rs6000.c: Add #define RS6000_BUILTIN_0 and #undef 7188 RS6000_BUILTIN_0 directives to surround each occurrence of 7189 #include "rs6000-builtin.def". 7190 (rs6000_builtin_mask_calculate): Add in the RS6000_BTM_MODULO and 7191 RS6000_BTM_64BIT flags to the returned mask, depending on 7192 configuration. 7193 (def_builtin): Correct an error in the assignments made to the 7194 debugging variable attr_string. 7195 (rs6000_expand_builtin): Add support for no-operand built-in 7196 functions. 7197 (builtin_function_type): Remove fatal_error assertion that is no 7198 longer valid. 7199 (rs6000_common_init_builtins): Add support for no-operand built-in 7200 functions. 7201 * config/rs6000/rs6000.h (RS6000_BTM_MODULO): New macro 7202 definition. 7203 (RS6000_BTM_PURE): Enhance comment to clarify intent of this flag 7204 definition. 7205 (RS6000_BTM_64BIT): New macro definition. 7206 * doc/extend.texi: Document __builtin_darn (void), 7207 __builtin_darn_raw (void), and __builtin_darn_32 (void) built-in 7208 functions. 7209 72102016-06-01 Michael Meissner <meissner@linux.vnet.ibm.com> 7211 7212 Back port from trunk 7213 2016-05-23 Michael Meissner <meissner@linux.vnet.ibm.com> 7214 7215 PR target/71201 7216 * config/rs6000/altivec.md (altivec_vperm_<mode>_internal): Drop 7217 ISA 3.0 xxperm fusion alternative. 7218 (altivec_vperm_v8hiv16qi): Likewise. 7219 (altivec_vperm_<mode>_uns_internal): Likewise. 7220 (vperm_v8hiv4si): Likewise. 7221 (vperm_v16qiv8hi): Likewise. 7222 7223 Back port from trunk 7224 2016-05-23 Michael Meissner <meissner@linux.vnet.ibm.com> 7225 Kelvin Nilsen <kelvin@gcc.gnu.org> 7226 7227 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate 7228 vpermr/xxpermr on ISA 3.0. 7229 (altivec_expand_vec_perm_le): Likewise. 7230 * config/rs6000/altivec.md (UNSPEC_VPERMR): New unspec. 7231 (altivec_vpermr_<mode>_internal): Add VPERMR/XXPERMR support for 7232 ISA 3.0. 7233 7234 Back port from trunk 7235 2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com> 7236 7237 * config/rs6000/altivec.md (VParity): New mode iterator for vector 7238 parity built-in functions. 7239 (p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing 7240 zeros. 7241 (p9v_parity<mode>2): Likewise. 7242 * config/rs6000/vector.md (VEC_IP): New mode iterator for vector 7243 parity. 7244 (ctz<mode>2): ISA 3.0 expander for vector count trailing zeros. 7245 (parity<mode>2): ISA 3.0 expander for vector parity. 7246 * config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for 7247 power9 built-ins. 7248 (BU_P9_64BIT_MISC_0): Likewise. 7249 (BU_P9_MISC_0): Likewise. 7250 (BU_P9V_AV_1): Likewise. 7251 (BU_P9V_AV_2): Likewise. 7252 (BU_P9V_AV_3): Likewise. 7253 (BU_P9V_AV_P): Likewise. 7254 (BU_P9V_VSX_1): Likewise. 7255 (BU_P9V_OVERLOAD_1): Likewise. 7256 (BU_P9V_OVERLOAD_2): Likewise. 7257 (BU_P9V_OVERLOAD_3): Likewise. 7258 (VCTZB): Add vector count trailing zeros support. 7259 (VCTZH): Likewise. 7260 (VCTZW): Likewise. 7261 (VCTZD): Likewise. 7262 (VPRTYBD): Add vector parity support. 7263 (VPRTYBQ): Likewise. 7264 (VPRTYBW): Likewise. 7265 (VCTZ): Add overloaded vector count trailing zeros support. 7266 (VPRTYB): Add overloaded vector parity support. 7267 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add 7268 overloaded vector count trailing zeros and parity instructions. 7269 * config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for 7270 vector parity support. 7271 * config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count 7272 trailing zeros support. 7273 (vec_cntlz): Likewise. 7274 (vec_vctzb): Likewise. 7275 (vec_vctzd): Likewise. 7276 (vec_vctzh): Likewise. 7277 (vec_vctzw): Likewise. 7278 (vec_vprtyb): Add ISA 3.0 vector parity support. 7279 (vec_vprtybd): Likewise. 7280 (vec_vprtybw): Likewise. 7281 (vec_vprtybq): Likewise. 7282 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document 7283 the ISA 3.0 vector count trailing zeros and vector parity built-in 7284 functions. 7285 7286 Back port from trunk 7287 2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com> 7288 7289 * config/rs6000/altivec.md (VNEG iterator): New iterator for 7290 VNEGW/VNEGD instructions. 7291 (p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD. 7292 (neg<mode>2): Add expander for V2DImode added in ISA 2.07, and 7293 support for ISA 3.0 VNEGW/VNEGD instructions. 7294 7295 Back port from trunk 7296 2016-05-11 Michael Meissner <meissner@linux.vnet.ibm.com> 7297 7298 * config/rs6000/predicates.md (quad_memory_operand): Move most of 7299 the code into quad_address_p and call it to share code with 7300 vsx_quad_dform_memory_operand. 7301 (vsx_quad_dform_memory_operand): New predicate for ISA 3.0 vector 7302 d-form support. 7303 * config/rs6000/rs6000.opt (-mlra): Switch to being an option mask 7304 bit instead of being a separate word. Split -mpower9-dform into 7305 two switches, -mpower9-dform-scalar and -mpower9-dform-vector. 7306 * config/rs6000/rs6000.c (RELOAD_REG_QUAD_OFFSET): New addr_mask 7307 for the register class supporting 128-bit quad word memory offsets. 7308 (mode_supports_vsx_dform_quad): Helper function to return if the 7309 register class uses quad word memory offsets. 7310 (rs6000_debug_addr_mask): Add support for quad word memory offsets. 7311 (rs6000_debug_reg_global): Always print if we are using LRA or not. 7312 (rs6000_setup_reg_addr_masks): If ISA 3.0 vector d-form 7313 instructions are enabled, set up the appropriate addr_masks for 7314 128-bit types. 7315 (rs6000_init_hard_regno_mode_ok): wb constraint is now based on 7316 -mpower9-dform-scalar, instead of -mpower9-dform. 7317 (rs6000_option_override_internal): Split -mpower9-dform into two 7318 switches, -mpower9-dform-scalar and -mpower9-dform-vector. The 7319 -mpower9-dform switch sets or clears both. If we are not using 7320 the LRA register allocator, do not enable -mpower9-dform-vector by 7321 default. If we are using LRA, enable -mpower9-dform-vector and 7322 -mvsx-timode if it is appropriate. Issue a warning if either 7323 -mpower9-dform-vector or -mvsx-timode are explicitly used without 7324 enabling LRA. 7325 (quad_address_offset_p): New helper function to return if the 7326 offset is legal for quad word memory instructions. 7327 (quad_address_p): New function to determin if GPR or vector 7328 register quad word memory addresses are legal. 7329 (mem_operand_gpr): Validate quad word address offsets. 7330 (reg_offset_addressing_ok_p): Add support for ISA 3.0 vector 7331 d-form (register + offset) instructions. 7332 (offsettable_ok_by_alignment): Likewise. 7333 (rs6000_legitimate_offset_address_p): Likewise. 7334 (legitimate_lo_sum_address_p): Likewise. 7335 (rs6000_legitimize_address): Likewise. 7336 (rs6000_legitimize_reload_address): Add more debug statements for 7337 -mdebug=addr. 7338 (rs6000_legitimate_address_p): Add support for ISA 3.0 vector 7339 d-form instructions. 7340 (rs6000_secondary_reload_memory): Add support for ISA 3.0 vector 7341 d-form instructions. Distinguish different cases in debug 7342 output. (rs6000_secondary_reload_inner): Add support for ISA 3.0 vector 7343 d-form instructions. 7344 (rs6000_preferred_reload_class): Likewise. 7345 (rs6000_output_move_128bit): Add support for ISA 3.0 d-form 7346 instructions. If ISA 3.0 is available, generate lxvx/stxvx instead 7347 of the ISA 2.06 indexed memory instructions. 7348 (rs6000_emit_prologue): If we have ISA 3.0 d-form instructions, 7349 use them to save/restore the saved vector registers instead of 7350 using Altivec instructions. 7351 (rs6000_emit_epilogue): Likewise. 7352 (rs6000_lra_p): Use TARGET_LRA instead of the old option word. 7353 (rs6000_opt_masks): Split -mpower9-dform into 7354 -mpower9-dform-scalar and -mpower9-dform-vector. 7355 (rs6000_print_options_internal): Print -mno-<switch> if <switch> 7356 was not selected. 7357 * config/rs6000/vsx.md (p9_vecload_<mode>): Delete hack to emit 7358 ISA 3.0 vector indexed memory instructions, and fold the code into 7359 the normal mov<mode> patterns. 7360 (p9_vecstore_<mode>): Likewise. 7361 (vsx_mov<mode>): Add support for ISA 3.0 vector d-form 7362 instructions. 7363 (vsx_movti_64bit): Likewise. 7364 (vsx_movti_32bit): Likewise. 7365 * config/rs6000/constraints.md (wO constraint): New constraint for 7366 ISA 3.0 vector d-form support. 7367 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Use 7368 -mpower9-dform-scalar instead of -mpower9-dform. Add note not to 7369 include -mpower9-dform-vector until we switch over to LRA. 7370 (POWERPC_MASKS): Add -mlra. Split -mpower9-dform into two. 7371 switches, -mpower9-dform-scalar and -mpower9-dform-vector. 7372 * config/rs6000/rs6000-protos.h (quad_address_p): Add declaration. 7373 * doc/invoke.texi (RS/6000 and PowerPC Options): Add documentation 7374 for -mpower9-dform and -mlra. 7375 * doc/md.texi (wO constraint): Document wO constraint. 7376 73772016-06-01 Eric Botcazou <ebotcazou@adacore.com> 7378 7379 * tree-vect-loop.c (vect_determine_vectorization_factor): Also compute 7380 the factor for live Phi nodes. 7381 73822016-06-01 Jakub Jelinek <jakub@redhat.com> 7383 7384 PR middle-end/71371 7385 * gimplify.c (gimplify_omp_for): Temporarily clear gimplify_omp_ctxp 7386 around creation of the temporary. 7387 73882016-06-01 Eric Botcazou <ebotcazou@adacore.com> 7389 7390 * tree-vect-loop.c (vect_determine_vectorization_factor): Also take 7391 into account live statements for mask producers. 7392 73932016-05-31 Richard Biener <rguenther@suse.de> 7394 7395 Backport from mainline 7396 2016-05-11 Richard Biener <rguenther@suse.de> 7397 7398 PR debug/71057 7399 * dwarf2out.c (retry_incomplete_types): Set early_dwarf. 7400 (dwarf2out_finish): Move retry_incomplete_types call ... 7401 (dwarf2out_early_finish): ... here. 7402 74032016-05-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 7404 7405 PR target/71056 7406 * config/arm/arm-builtins.c (arm_builtin_vectorized_function): Return 7407 NULL_TREE early if NEON is not available. Remove now redundant check 7408 in ARM_CHECK_BUILTIN_MODE. 7409 74102016-05-31 Tom de Vries <tom@codesourcery.com> 7411 7412 backport: 7413 2016-05-31 Tom de Vries <tom@codesourcery.com> 7414 7415 PR tree-optimization/69068 7416 * graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Handle 7417 phis with more than two args. 7418 74192016-05-30 Andreas Tobler <andreast@gcc.gnu.org> 7420 7421 Backport from mainline 7422 2016-05-30 Andreas Tobler <andreast@gcc.gnu.org> 7423 7424 * config.gcc: Move hard float support for arm*hf*-*-freebsd* into 7425 armv6*-*-freebsd* for FreeBSD 11. Eliminate the arm*hf*-*-freebsd* 7426 target. 7427 74282016-05-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 7429 7430 Backport from mainline 7431 2016-04-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 7432 7433 * config/rs6000/altivec.h: Change definitions of vec_xl and 7434 vec_xst. 7435 * config/rs6000/rs6000-builtin.def (LD_ELEMREV_V2DF): New. 7436 (LD_ELEMREV_V2DI): New. 7437 (LD_ELEMREV_V4SF): New. 7438 (LD_ELEMREV_V4SI): New. 7439 (LD_ELEMREV_V8HI): New. 7440 (LD_ELEMREV_V16QI): New. 7441 (ST_ELEMREV_V2DF): New. 7442 (ST_ELEMREV_V2DI): New. 7443 (ST_ELEMREV_V4SF): New. 7444 (ST_ELEMREV_V4SI): New. 7445 (ST_ELEMREV_V8HI): New. 7446 (ST_ELEMREV_V16QI): New. 7447 (XL): New. 7448 (XST): New. 7449 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add 7450 descriptions for VSX_BUILTIN_VEC_XL and VSX_BUILTIN_VEC_XST. 7451 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Map from 7452 TARGET_P9_VECTOR to RS6000_BTM_P9_VECTOR. 7453 (altivec_expand_builtin): Add handling for 7454 VSX_BUILTIN_ST_ELEMREV_<MODE> and VSX_BUILTIN_LD_ELEMREV_<MODE>. 7455 (rs6000_invalid_builtin): Add error-checking for 7456 RS6000_BTM_P9_VECTOR. 7457 (altivec_init_builtins): Define builtins used to implement vec_xl 7458 and vec_xst. 7459 (rs6000_builtin_mask_names): Define power9-vector. 7460 * config/rs6000/rs6000.h (MASK_P9_VECTOR): Define. 7461 (RS6000_BTM_P9_VECTOR): Define. 7462 (RS6000_BTM_COMMON): Include RS6000_BTM_P9_VECTOR. 7463 * config/rs6000/vsx.md (vsx_ld_elemrev_v2di): New define_insn. 7464 (vsx_ld_elemrev_v2df): Likewise. 7465 (vsx_ld_elemrev_v4sf): Likewise. 7466 (vsx_ld_elemrev_v4si): Likewise. 7467 (vsx_ld_elemrev_v8hi): Likewise. 7468 (vsx_ld_elemrev_v16qi): Likewise. 7469 (vsx_st_elemrev_v2df): Likewise. 7470 (vsx_st_elemrev_v2di): Likewise. 7471 (vsx_st_elemrev_v4sf): Likewise. 7472 (vsx_st_elemrev_v4si): Likewise. 7473 (vsx_st_elemrev_v8hi): Likewise. 7474 (vsx_st_elemrev_v16qi): Likewise. 7475 * doc/extend.texi: Add prototypes for vec_xl and vec_xst. Correct 7476 grammar. 7477 74782016-05-30 Richard Biener <rguenther@suse.de> 7479 7480 Backport from mainline 7481 2016-05-11 Richard Biener <rguenther@suse.de> 7482 7483 PR middle-end/71002 7484 * alias.c (reference_alias_ptr_type): Preserve alias-set zero 7485 if the langhook insists on it. 7486 * fold-const.c (make_bit_field_ref): Add arg for the original 7487 reference and preserve its alias-set. 7488 (decode_field_reference): Take exp by reference and adjust it 7489 to the original memory reference. 7490 (optimize_bit_field_compare): Adjust callers. 7491 (fold_truth_andor_1): Likewise. 7492 7493 2016-05-13 Jakub Jelinek <jakub@redhat.com> 7494 7495 PR bootstrap/71071 7496 * fold-const.c (fold_checksum_tree): Allow modification 7497 of TYPE_ALIAS_SET during folding. 7498 74992016-05-30 Eric Botcazou <ebotcazou@adacore.com> 7500 7501 * config/visium/visium.c (visium_split_double_add): Minor tweaks. 7502 (visium_expand_copysign): Use gen_int_mode directly. 7503 (visium_compute_frame_size): Minor tweaks. 7504 75052016-05-30 Tom de Vries <tom@codesourcery.com> 7506 7507 backport: 7508 2016-05-30 Tom de Vries <tom@codesourcery.com> 7509 7510 PR tree-optimization/69067 7511 * graphite-isl-ast-to-gimple.c (get_def_bb_for_const): Remove assert. 7512 75132016-05-27 Eric Botcazou <ebotcazou@adacore.com> 7514 7515 * config/visium/visium-protos.h (split_double_move): Rename into... 7516 (visium_split_double_move): ...this. 7517 (visium_split_double_add): Declare. 7518 * config/visium/visium.c (split_double_move): Rename into... 7519 (visium_split_double_move): ...this. 7520 (visium_split_double_add): New function. 7521 (visium_expand_copysign): Renumber operands for consistency. 7522 * config/visium/visium.md (DImode move splitter): Adjust to renaming. 7523 (DFmode move splitter): Likewise. 7524 (*addi3_insn): Split by means of visium_split_double_add. 7525 (*adddi3_insn_flags): Delete. 7526 (*plus_plus_sltu<subst_arith>): New insn. 7527 (*subdi3_insn): Split by means of visium_split_double_add. 7528 (subdi3_insn_flags): Delete. 7529 (*minus_minus_sltu<subst_arith>): New insn. 7530 (*negdi2_insn): Split by means of visium_split_double_add. 7531 (*negdi2_insn_flags): Delete. 7532 75332016-05-27 Ilya Enkovich <ilya.enkovich@intel.com> 7534 7535 Backport from mainline r236810. 7536 2016-05-27 Ilya Enkovich <ilya.enkovich@intel.com> 7537 7538 PR middle-end/71279 7539 * fold-const.c (fold_ternary_loc): Don't fold VEC_COND_EXPR 7540 into comparison. 7541 75422016-05-25 Eric Botcazou <ebotcazou@adacore.com> 7543 7544 * tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove 7545 redundant test and bail out if the type of the new operand is not 7546 a GIMPLE register type after stripping a VIEW_CONVERT_EXPR. 7547 75482016-05-24 Martin Sebor <msebor@redhat.com> 7549 7550 PR c++/71147 7551 * tree.h (complete_or_array_type_p): New inline function. 7552 75532016-05-24 Jakub Jelinek <jakub@redhat.com> 7554 7555 * config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define. 7556 * config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES 7557 rather than X86_TUNE_AVOID_4BYTE_PREFIXES. Use SSE_REGS instead 7558 of ALL_SSE_REGS. Return SSE_REGS also when TARGET_AVX. 7559 75602016-05-24 Jakub Jelinek <jakub@redhat.com> 7561 7562 PR c++/71257 7563 * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle 7564 SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like 7565 SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP. Add 7566 SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP and 7567 SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP cases explicitly. 7568 75692016-05-23 Martin Jambor <mjambor@suse.cz> 7570 7571 * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Create an empty 7572 default block if a PHI node in the original one would be resized. 7573 75742016-05-23 Martin Jambor <mjambor@suse.cz> 7575 7576 PR tree-optimization/70884 7577 * tree-sra.c (initialize_constant_pool_replacements): Do not check 7578 should_scalarize_away_bitmap and cannot_scalarize_away_bitmap bits. 7579 (sort_and_splice_var_accesses): Do not consider multiple scalar reads 7580 of constant pool data as a reason for scalarization. 7581 75822016-05-20 Eric Botcazou <ebotcazou@adacore.com> 7583 7584 * config/arm/arm.c (arm_expand_prologue): Set the stack usage to 0 7585 for naked functions. 7586 (thumb1_expand_prologue): Likewise. 7587 75882016-05-20 Jakub Jelinek <jakub@redhat.com> 7589 7590 PR c++/71210 7591 * gimple-fold.c (gimple_fold_call): Do not remove lhs of noreturn 7592 calls if the LHS is variable length or has addressable type. 7593 If targets[0]->decl is a noreturn call with void return type and 7594 zero arguments, adjust fntype and remove lhs in that case. 7595 75962016-05-20 Uros Bizjak <ubizjak@gmail.com> 7597 7598 * sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also 7599 force pending loads from memory. 7600 76012016-05-19 Marek Polacek <polacek@redhat.com> 7602 7603 Backport from mainline 7604 2016-05-19 Marek Polacek <polacek@redhat.com> 7605 7606 PR tree-optimization/71031 7607 * tree-vrp.c (extract_range_from_binary_expr_1): Turn assert into a 7608 condition and adjust the code a bit. 7609 76102016-05-19 Martin Jambor <mjambor@suse.cz> 7611 7612 PR ipa/70646 7613 * ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early 7614 if parameter PARAM_IPA_MAX_AGG_ITEMS is zero. 7615 76162016-05-19 Martin Jambor <mjambor@suse.cz> 7617 7618 PR ipa/70646 7619 * ipa-inline.h (condition): New field size. 7620 * ipa-inline-analysis.c (add_condition): New parameter SIZE, use it 7621 for comaprison and store it into the new condition. 7622 (evaluate_conditions_for_known_args): Use condition size to check 7623 access sizes for all but CHANGED conditions. 7624 (unmodified_parm_1): New parameter size_p, store access size into it. 7625 (unmodified_parm): Likewise. 7626 (unmodified_parm_or_parm_agg_item): Likewise. 7627 (eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p. 7628 (set_cond_stmt_execution_predicate): Extract access sizes and store 7629 them to conditions. 7630 (set_switch_stmt_execution_predicate): Likewise. 7631 (will_be_nonconstant_expr_predicate): Likewise. 7632 (will_be_nonconstant_predicate): Likewise. 7633 (inline_read_section): Stream condition size. 7634 (inline_write_summary): Likewise. 7635 * lto-streamer.h (LTO_minor_version): Bump. 7636 76372016-05-18 Martin Liska <mliska@suse.cz> 7638 7639 Backport from mainline 7640 2016-05-18 Martin Liska <mliska@suse.cz> 7641 7642 PR fortran/70856 7643 * ipa-icf.c (sem_variable::merge): Set DECL_PT_UID for 7644 merged variables. 7645 76462016-05-18 Jakub Jelinek <jakub@redhat.com> 7647 7648 PR c++/71100 7649 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Don't drop 7650 lhs if it has TREE_ADDRESSABLE type. 7651 76522016-05-18 Uros Bizjak <ubizjak@gmail.com> 7653 7654 PR target/71145 7655 * config/alpha/alpha.md (trap): Add (use (reg:DI 29)). 7656 (*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS. 7657 76582016-05-17 Thomas Schwinge <thomas@codesourcery.com> 7659 7660 Backport trunk r235748: 7661 PR target/70860 7662 * config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun. 7663 (nvptx_function_value): Assert non-NULL cfun. 7664 76652016-05-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 7666 7667 Backport from mainline 7668 2016-05-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 7669 7670 PR target/70809 7671 * config/aarch64/aarch64-simd.md (aarch64_vmls<mode>): Delete. 7672 76732016-05-16 Martin Jambor <mjambor@suse.cz> 7674 7675 * hsa-gen.c (fillup_for_decl): Increase alignment to natural one. 7676 (get_symbol_for_decl): Sorry if a global symbol in under-aligned. 7677 76782016-05-16 Martin Jambor <mjambor@suse.cz> 7679 7680 PR hsa/70857 7681 * omp-low.c (grid_expand_target_grid_body): Copy RESULT_DECL of 7682 the outlined kernel function. 7683 76842016-05-16 James Norris <jnorris@codesourcery.com> 7685 7686 Backport from mainline r236098. 7687 2016-05-10 James Norris <jnorris@codesourcery.com> 7688 7689 PR driver/68463 7690 * config/rs6000/sysv4.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o 7691 if offloading is enabled and -fopenacc or -fopenmp is specified. 7692 (CRTOFFLOADEND): Likewise. 7693 (STARTFILE_LINUX_SPEC): Add CRTOFFLOADBEGIN. 7694 (ENDFILE_LINUX_SPEC): Add CRTOFFLOADEND. 7695 76962016-05-16 Alan Modra <amodra@gmail.com> 7697 7698 Apply from mainline 7699 2016-05-10 Alan Modra <amodra@gmail.com> 7700 PR target/70947 7701 * config/rs6000/rs6000.c (rs6000_expand_split_stack_prologue): Stop 7702 regrename modifying insns saving lr before __morestack call. 7703 * config/rs6000/rs6000.md (split_stack_return): Similarly for 7704 insns restoring lr after __morestack call. 7705 77062016-05-13 Richard Biener <rguenther@suse.de> 7707 7708 Backport from mainline 7709 2016-04-27 Richard Biener <rguenther@suse.de> 7710 7711 PR ipa/70760 7712 * tree-ssa-structalias.c (find_func_aliases_for_call): Use 7713 aggregate_value_p to determine if a function result is 7714 returned by reference. 7715 7716 2016-05-06 Richard Biener <rguenther@suse.de> 7717 7718 PR middle-end/70931 7719 * dwarf2out.c (native_encode_initializer): Skip zero-sized fields. 7720 7721 2016-05-06 Richard Biener <rguenther@suse.de> 7722 7723 PR middle-end/70941 7724 * fold-const.c (split_tree): Always convert to the original type 7725 before negating. 7726 77272016-05-12 Martin Liska <mliska@suse.cz> 7728 7729 Backport from mainline 7730 2016-05-10 Martin Liska <mliska@suse.cz> 7731 7732 * tree-inline.c (remap_dependence_clique): Do not remap 7733 debugging statements. 7734 77352016-05-12 Ilya Enkovich <ilya.enkovich@intel.com> 7736 7737 Backport from mainline r236171. 7738 2016-05-12 Ilya Enkovich <ilya.enkovich@intel.com> 7739 7740 PR tree-optimization/71006 7741 * tree-vect-loop.c (vect_determine_vectorization_factor): Don't 7742 consider COND_EXPR as a mask producer. 7743 77442016-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 7745 7746 Backport from mainline 7747 2016-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 7748 7749 PR target/70830 7750 * config/arm/arm.c (arm_output_multireg_pop): Avoid POP instruction 7751 when popping the PC and within an interrupt handler routine. 7752 Add missing tab to output of "ldmfd". 7753 (output_return_instruction): Output LDMFD with SP update rather 7754 than POP when returning from interrupt handler. 7755 77562016-05-11 Ilya Enkovich <ilya.enkovich@intel.com> 7757 7758 Backport from mainline r236088. 7759 2016-05-10 Ilya Enkovich <ilya.enkovich@intel.com> 7760 7761 PR middle-end/70877 7762 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Handle 7763 calls with type casted fndecl. 7764 77652016-05-11 Ilya Enkovich <ilya.enkovich@intel.com> 7766 7767 Backport from mainline r236086. 7768 2016-05-10 Ilya Enkovich <ilya.enkovich@intel.com> 7769 7770 PR tree-optimization/70876 7771 * tree-chkp.c (chkp_find_bounds_1): Support WITH_SIZE_EXPR. 7772 * gcc/calls.c (initialize_argument_information): Bind bounds 7773 with corresponding args passed by reference. 7774 77752016-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 7776 7777 Backport from mainline 7778 2016-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 7779 7780 PR target/70963 7781 * config/rs6000/vsx.md (vsx_xvcvdpsxds_scale): Generate correct 7782 code for a zero scale factor. 7783 (vsx_xvcvdpuxds_scale): Likewise. 7784 77852016-05-10 Jakub Jelinek <jakub@redhat.com> 7786 7787 Backported from mainline 7788 2016-05-03 Jakub Jelinek <jakub@redhat.com> 7789 7790 PR tree-optimization/70916 7791 * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Give up 7792 if COND_EXPR rhs1 is neither SSA_NAME nor COMPARISON_CLASS_P. 7793 77942016-05-10 Yuri Rumyantsev <ysrumyan@gmail.com> 7795 7796 Backport from mainline r235962. 7797 2016-05-06 Yuri Rumyantsev <ysrumyan@gmail.com> 7798 7799 PR debug/70935 7800 * tree-ssa-loop-unswitch.c (find_loop_guard): Reject guard edge with 7801 loop latch destination. 7802 78032016-05-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 7804 7805 Backport from mainline 7806 2016-05-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 7807 7808 * config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly") 7809 ("*fixuns_truncdfdi2_z13") 7810 ("*fixuns_trunc<FP:mode><GPR:mode>2_z196") 7811 ("*fix_truncdfdi2_bfp_z13", "*floatunsdidf2_z13") 7812 ("*extendsfdf2_z13"): Replace TARGET_Z13 with TARGET_VX. 7813 78142016-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de> 7815 7816 Backport from mainline 7817 2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de> 7818 7819 * config/rtems.h (LIB_SPEC): Add -latomic. 7820 78212016-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de> 7822 7823 Backport from mainline 7824 2016-04-27 Joel Sherrill <joel@rtems.org> 7825 7826 * config/microblaze/rtems.h: Redefine LINK_SPEC to avoid 7827 xilink.ld and flags not relevant to RTEMS. 7828 78292016-05-09 Uros Bizjak <ubizjak@gmail.com> 7830 7831 * config/i386/i386.md (absneg splitters with general regs): Use 7832 general_reg_operand predicate. 7833 (btsq peephole2): Use x86_64_immediate_operand to check if new 7834 value is suitable for immediate operand. Generate emitted insn 7835 using RTL expressions. 7836 (btcq peephole2): Ditto. 7837 (btrq peephole2): Ditto. Generate correct immediate operand 7838 for AND masking. 7839 78402016-05-07 Tom de Vries <tom@codesourcery.com> 7841 7842 backport: 7843 2016-05-07 Tom de Vries <tom@codesourcery.com> 7844 7845 PR tree-optimization/70956 7846 * graphite-scop-detection.c (build_cross_bb_scalars_def): Handle NULL 7847 def. 7848 78492016-05-06 Marek Polacek <polacek@redhat.com> 7850 7851 Backported from mainline 7852 2016-05-06 Marek Polacek <polacek@redhat.com> 7853 7854 PR sanitizer/70875 7855 * ubsan.c (get_ubsan_type_info_for_type): Remove assert. 7856 78572016-05-06 Marek Polacek <polacek@redhat.com> 7858 7859 Backported from mainline 7860 2016-04-29 Marek Polacek <polacek@redhat.com> 7861 Jakub Jelinek <jakub@redhat.com> 7862 7863 PR sanitizer/70342 7864 * fold-const.c (tree_single_nonzero_warnv_p): For TARGET_EXPR, use 7865 TARGET_EXPR_SLOT as a base. 7866 78672016-05-04 Eric Botcazou <ebotcazou@adacore.com> 7868 7869 * tree-ssa-coalesce.c (gimple_can_coalesce_p): Fix reference in head 7870 comment. 7871 (compute_samebase_partition_bases): Fix typo. 7872 78732016-05-03 Pierre-Marie de Rodat <derodat@adacore.com> 7874 7875 * dwarf2out.c (resolve_args_picking_1): Replace the frame_offset 7876 occurence with frame_offset_ ones. 7877 78782016-04-28 Jakub Jelinek <jakub@redhat.com> 7879 7880 PR target/70858 7881 * config/i386/i386.c (bdesc_special_args): Add | OPTION_MASK_ISA_64BIT 7882 to __builtin_ia32_lwpval64 and __builtin_ia32_lwpins64. 7883 (bdesc_args): Add | OPTION_MASK_ISA_64BIT to __builtin_ia32_bextr_u64, 7884 __builtin_ia32_bextri_u64, __builtin_ia32_bzhi_di, 7885 __builtin_ia32_pdep_di and __builtin_ia32_pext_di. 7886 78872016-04-28 Eric Botcazou <ebotcazou@adacore.com> 7888 7889 Backport from mainline 7890 2016-04-27 Eric Botcazou <ebotcazou@adacore.com> 7891 7892 PR ada/70759 7893 * stor-layout.h (internal_reference_types): Delete. 7894 * stor-layout.c (reference_types_internal): Likewise. 7895 (internal_reference_types): Likewise. 7896 (layout_type) <REFERENCE_TYPE>: Adjust. 7897 78982016-04-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 7899 7900 Backport from mainline 7901 2016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 7902 7903 * config/rs6000/rs6000-builtin.def: Correct pasto error for 7904 stxvd2x and stxvw4x built-in functions. 7905 79062016-04-27 H.J. Lu <hongjiu.lu@intel.com> 7907 7908 Backported from mainline 7909 2016-04-21 H.J. Lu <hongjiu.lu@intel.com> 7910 7911 PR target/70750 7912 * config/i386/predicates.md (call_insn_operand): Replace 7913 sibcall_memory_operand with memory_operand. 7914 79152016-04-27 Richard Biener <rguenther@suse.de> 7916 7917 PR ipa/70785 7918 * tree-ssa-structalias.c (refered_from_nonlocal_fn): New 7919 function cummulating used_from_other_partition, externally_visible 7920 and force_output from aliases. 7921 (refered_from_nonlocal_var): Likewise. 7922 (ipa_pta_execute): Use call_for_symbol_and_aliases to cummulate 7923 node flags properly. 7924 79252016-04-27 Jakub Jelinek <jakub@redhat.com> 7926 7927 Backported from mainline 7928 2016-04-23 Jakub Jelinek <jakub@redhat.com> 7929 7930 PR sanitizer/70712 7931 * cfgexpand.c (expand_stack_vars): Fix typo. 7932 7933 2016-04-19 Jakub Jelinek <jakub@redhat.com> 7934 7935 PR middle-end/70680 7936 * gimplify.c (gimplify_omp_for): Call omp_notice_variable for 7937 implicitly linear or lastprivate iterator on the outer context. 7938 79392016-04-27 Kirill Yukhin <kirill.yukhin@intel.com> 7940 7941 PR target/70728 7942 * gcc/config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"): 7943 Extract AVX-512BW constraint from AVX. 7944 79452016-04-27 Jakub Jelinek <jakub@redhat.com> 7946 7947 * BASE-VER: Set to 6.1.1. 7948 79492016-04-27 Release Manager 7950 7951 * GCC 6.1.0 released. 7952 79532016-04-25 Richard Biener <rguenther@suse.de> 7954 7955 PR tree-optimization/70780 7956 * tree-ssa-pre.c (compute_antic_aux): Also return true if the block 7957 wasn't visited yet. 7958 (compute_antic): Mark blocks with abnormal preds as visited as 7959 they have a final empty antic-in solution already. 7960 79612016-04-22 H.J. Lu <hongjiu.lu@intel.com> 7962 7963 Backport from mainline 7964 2016-04-20 H.J. Lu <hongjiu.lu@intel.com> 7965 7966 * doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup. 7967 79682016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> 7969 7970 * system.h (list, map, set, vector): Include conditionally. 7971 * auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define. 7972 * graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define. 7973 * ipa-icf.c (INCLUDE_LIST): Define. 7974 * config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define. 7975 * config/sh/sh.c (INCLUDE_VECTOR): Define. 7976 * config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define. 7977 (INCLUDE_LIST, INCLUDE_VECTOR): Define. 7978 * cp/logic.cc (INCLUDE_LIST): Define. 7979 * fortran/trans-common.c (INCLUDE_MAP): Define. 7980 79812016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> 7982 7983 * auto-profile.c: Remove <string.h> include. 7984 * ipa-icf-gimple.c: Remove <list> include. 7985 * diagnostic.c: Remove <new> include. 7986 * genmatch.c: Likewise. 7987 * pretty-print.c: Likewise. 7988 * toplev.c: Likewise 7989 * c/c-objc-common.c: Likewise. 7990 * cp/error.c: Likewise. 7991 * fortran/error.c: Likewise. 7992 79932016-04-21 Richard Biener <rguenther@suse.de> 7994 7995 PR middle-end/70747 7996 * fold-const.c (fold_comparison): Return properly typed 7997 constant boolean. 7998 79992016-04-20 Andrew Pinski <apinski@cavium.com> 8000 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 8001 8002 PR target/64971 8003 * config/aarch64/aarch64.md (sibcall): Force call 8004 address to be DImode for ILP32. 8005 (sibcall_value): Likewise. 8006 80072016-04-20 Marek Polacek <polacek@redhat.com> 8008 8009 * tree-if-conv.c (is_false_predicate): For NULL_TREE return false 8010 rather than true. 8011 80122016-04-20 Marek Polacek <polacek@redhat.com> 8013 8014 PR tree-optimization/70725 8015 * tree-if-conv.c (is_false_predicate): New function. 8016 (predicate_mem_writes): Use it. 8017 80182016-04-20 Richard Biener <rguenther@suse.de> 8019 8020 PR tree-optimization/70726 8021 * tree-vect-stmts.c (vectorizable_shift): Do not use scalar 8022 shift amounts from a pattern stmt operand. 8023 80242016-04-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 8025 8026 PR target/70674 8027 * config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new 8028 stack_restore_from_fpr pattern when restoring r15. 8029 (s390_optimize_prologue): Strip away the memory barrier in the 8030 parallel when trying to get rid of restore insns. 8031 * config/s390/s390.md ("stack_restore_from_fpr"): New insn 8032 definition for loading the stack pointer from an FPR. Compared to 8033 the normal move insn this pattern includes a full memory barrier. 8034 80352016-04-19 Richard Biener <rguenther@suse.de> 8036 8037 PR tree-optimization/70724 8038 * tree-ssa-sccvn.c (scc_vn_restore_ssa_info): Split SSA info 8039 restoring out from ... 8040 (free_scc_vn): ... here. 8041 * tree-ssa-sccvn.h (scc_vn_restore_ssa_info): Declare. 8042 * tres-ssa-pre.c (pass_pre::execute): Restore SSA info before 8043 tail merging. 8044 (pass_fre::execute): Restore SSA info. 8045 80462016-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8047 8048 * doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and 8049 gld requirements. 8050 (Specific, *-*-solaris2*): Update Solaris 11 bundled gcc 8051 versions. 8052 Mention Solaris 11 packaging changes. 8053 Update gas and gld requirements. 8054 Remove reference to pre-Solaris 10 bug. 8055 (Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10 8056 systems and bugs. 8057 (Specific, sparc64-*-solaris2*): Remove reference to bootstrap 8058 with cc. 8059 80602016-04-18 Matthew Wahab <matthew.wahab@arm.com> 8061 8062 PR target/70711 8063 * config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc, 8064 armv8.1-a and armv8.1-a+crc. 8065 80662016-04-18 Segher Boessenkool <segher@kernel.crashing.org> 8067 8068 * has-brig.c (lendian16): Don't try to use __builtin_bswap16 8069 unless compiling with at least GCC-4.8. 8070 80712016-04-15 Kirill Yukhin <kirill.yukhin@intel.com> 8072 8073 PR target/70662 8074 * config/i386/sse.md (define_insn "<avx512>_vec_dup<mode><mask_name>"): 8075 Fix mode size check. 8076 80772016-04-15 Jakub Jelinek <jakub@redhat.com> 8078 8079 * BASE-VER: Set to 6.0.1. 8080 * DEV-PHASE: Set to prerelease. 8081 80822016-04-15 Alexander Monakov <amonakov@ispras.ru> 8083 8084 * config/nvptx/nvptx.opt (moptimize): Add a period at end of help text. 8085 80862016-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 8087 8088 * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T 8089 architecture revisions. 8090 80912016-04-15 Bernd Schmidt <bschmidt@redhat.com> 8092 8093 * config/i386/i386-protos.h (ix86_using_red_zone): Declare. 8094 * config/i386/i386.c (ix86_using_red_zone): No longer static. 8095 * config/i386/i386.md (stack decrement to push peepholes): Guard 8096 with !x86_using_red_zone (). 8097 80982016-04-15 Jakub Jelinek <jakub@redhat.com> 8099 8100 PR c++/70675 8101 * tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down 8102 to dump_generic_node. 8103 (NIY): Pass also flags to do_niy. 8104 81052016-04-15 Thomas Schwinge <thomas@codesourcery.com> 8106 8107 * omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy) 8108 (simd_clone_vector_of_formal_parm_types) 8109 (simd_clone_clauses_extract, simd_clone_compute_base_data_type) 8110 (simd_clone_mangle, simd_clone_create) 8111 (simd_clone_adjust_return_type, create_tmp_simd_array) 8112 (simd_clone_adjust_argument_types, simd_clone_init_simd_arrays) 8113 (struct modify_stmt_info, ipa_simd_modify_stmt_ops) 8114 (ipa_simd_modify_function_body, simd_clone_linear_addend) 8115 (simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone) 8116 (pass_data_omp_simd_clone, class pass_omp_simd_clone) 8117 (pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move 8118 into... 8119 * omp-simd-clone.c: ... this new file. 8120 (simd_clone_vector_of_formal_parm_types): Make it static. 8121 * Makefile.in (OBJS): Add omp-simd-clone.o. 8122 81232016-04-15 Kirill Yukhin <kirill.yukhin@intel.com> 8124 8125 PR target/70662 8126 * config/i386/sse.md: Use proper memory operand 8127 modifiers. 8128 8129 81302016-04-15 Richard Biener <rguenther@suse.de> 8131 Alan Modra <amodra@gmail.com> 8132 8133 PR tree-optimization/70130 8134 * tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect 8135 when alignment stays not the same and no not use the realign 8136 scheme then. 8137 81382016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com> 8139 8140 PR target/70669 8141 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add 8142 direct move handlers for KFmode. Change TFmode handlers test from 8143 FLOAT128_IEEE_P to FLOAT128_VECTOR_P. 8144 81452016-04-14 Jakub Jelinek <jakub@redhat.com> 8146 8147 PR c++/70594 8148 * ipa-utils.h (polymorphic_ctor_dtor_p): New prototype. 8149 * ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function. 8150 (inlined_polymorphic_ctor_dtor_block_p): Use it. 8151 * tree-ssa-live.c (remove_unused_scope_block_p): When 8152 in_ctor_dtor_block, avoid discarding not just BLOCKs with 8153 BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when 8154 block_ultimate_origin is FUNCTION_DECL. 8155 (remove_unused_locals): If current_function_decl is 8156 polymorphic_ctor_dtor_p, pass initial true to 8157 remove_unused_scope_block_p' is_ctor_dtor_block. 8158 81592016-04-14 Martin Sebor <msebor@redhat.com> 8160 8161 PR c++/69517 8162 PR c++/70019 8163 PR c++/70588 8164 * doc/extend.texi (Variable Length): Revert. 8165 81662016-04-14 Marek Polacek <polacek@redhat.com> 8167 Jan Hubicka <hubicka@ucw.cz> 8168 8169 PR c++/70029 8170 * tree.c (verify_type): Disable the canonical type of main variant 8171 check. 8172 81732016-04-14 Jason Merrill <jason@redhat.com> 8174 8175 * cfgexpand.c, expr.c: Revert previous change. 8176 81772016-04-14 Cesar Philippidis <cesar@codesourcery.com> 8178 8179 PR middle-end/70643 8180 * omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT 8181 when building a mem ref for the incoming reduction variable. 8182 81832016-04-14 Richard Biener <rguenther@suse.de> 8184 8185 PR tree-optimization/70614 8186 * tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate 8187 loop if the evolution dropped to chrec_dont_know. 8188 (interpret_condition_phi): Likewise. 8189 81902016-04-14 Richard Biener <rguenther@suse.de> 8191 8192 PR tree-optimization/70623 8193 * tree-ssa-pre.c (changed_blocks): Make global ... 8194 (compute_antic): ... local here. Move and fix worklist 8195 handling here. Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges. 8196 (compute_antic_aux): Add dumping for MAX assumed succs. Remove 8197 worklist handling, dump when ANTIC_IN changed. 8198 (compute_partial_antic_aux): Remove worklist handling. 8199 (init_pre): Do not compute post dominators. Add a comment about 8200 the CFG order chosen. 8201 (fini_pre): Do not free post dominators. 8202 82032016-04-13 Martin Sebor <msebor@redhat.com> 8204 8205 PR c++/69517 8206 PR c++/70019 8207 PR c++/70588 8208 * doc/extend.texi (Variable Length): Document C++ specifics. 8209 82102016-04-13 Jakub Jelinek <jakub@redhat.com> 8211 8212 PR c++/70641 8213 * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt 8214 on all recursive call stmts. Return TODO_cleanup_cfg if any dead 8215 eh edges have been purged. 8216 8217 PR c++/70594 8218 * tree-sra.c (create_access_replacement, 8219 get_replaced_param_substitute): Set DECL_NAMELESS on repl if it 8220 gets fancy name. 8221 * tree-pretty-print.c (dump_fancy_name): New function. 8222 (dump_decl_name, dump_generic_node): Use it. 8223 82242016-04-13 Jason Merrill <jason@redhat.com> 8225 8226 * cfgexpand.c (pass_expand::execute): Handle attribute "abi warning". 8227 * expr.c (expand_expr_real_1): Likewise. 8228 82292016-04-13 Ilya Enkovich <ilya.enkovich@intel.com> 8230 8231 * config/i386/i386.md (kunpckhi): Swap operands. 8232 (kunpcksi): Likewise. 8233 (kunpckdi): Likewise. 8234 * config/i386/sse.md (vec_pack_trunc_qi): Likewise. 8235 (vec_pack_trunc_<mode>): Likewise. 8236 82372016-04-13 Jakub Jelinek <jakub@redhat.com> 8238 8239 PR debug/70628 8240 * explow.c (convert_memory_address_addr_space_1): Formatting fix. 8241 8242 PR middle-end/70633 8243 * gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if 8244 gimplification turns some element into non-constant. 8245 8246 PR debug/70628 8247 * rtl.h (convert_memory_address_addr_space_1): New prototype. 8248 * explow.c (convert_memory_address_addr_space_1): No longer static, 8249 add NO_EMIT argument and don't call convert_modes if true, pass 8250 it down recursively, remove break after return. 8251 (convert_memory_address_addr_space): Adjust caller. 8252 * simplify-rtx.c (simplify_unary_operation_1): Call 8253 convert_memory_address_addr_space_1 instead of convert_memory_address, 8254 if it returns NULL, don't simplify. 8255 82562016-04-12 Eric Botcazou <ebotcazou@adacore.com> 8257 8258 PR target/70630 8259 * config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses. 8260 82612016-04-12 Jakub Jelinek <jakub@redhat.com> 8262 8263 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): 8264 Bump the upper SIMDLEN limits, so that if the return type or 8265 characteristic type if the return type is void can be passed in 8266 all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is 8267 allowed. 8268 82692016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com> 8270 8271 PR target/70640 8272 * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal): 8273 Do not use "=" constraint on an input constraint. 8274 (ieee_128bit_vsx_abs<mode>2_internal): Likewise. 8275 (ieee_128bit_vsx_nabs<mode>2_internal): Likewise. 8276 (ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it 8277 generates (neg (abs ...)) instead of (abs ...). 8278 82792016-04-12 Jakub Jelinek <jakub@redhat.com> 8280 8281 PR rtl-optimization/70596 8282 * lra-spills.c (spill_pseudos): Don't delete debug insns, instead 8283 just invalidate LRA data and reset them. Adjust dump wording. 8284 82852016-04-12 Martin Liska <mliska@suse.cz> 8286 8287 Revert 8288 2016-03-30 Jan Hubicka <hubicka@ucw.cz> 8289 8290 * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic 8291 estimates here. 8292 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also 8293 max_loop_iterations_int. 8294 (tree_unswitch_outer_loop): Likewise. 8295 * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise. 8296 * tree-vect-loop.c (vect_analyze_loop_2): Likewise. 8297 82982016-04-12 Tom de Vries <tom@codesourcery.com> 8299 8300 PR tree-optimization/68756 8301 * graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr 8302 instead of new_name. 8303 83042016-04-12 Jakub Jelinek <jakub@redhat.com> 8305 8306 PR tree-optimization/70602 8307 * tree-sra.c (generate_subtree_copies): Don't write anything into 8308 constant pool decls. 8309 8310 * omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT 8311 regardless whether there are depend clauses or not. 8312 83132016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com> 8314 8315 PR target/70381 8316 * config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the 8317 target attribute and pragma from changing the -mfloat128 8318 and -mfloat128-hardware options. 8319 8320 * doc/extend.texi (Additional Floating Types): Document PowerPC 8321 __float128 restrictions. 8322 83232016-04-11 James Greenhalgh <james.greenhalgh@arm.com> 8324 8325 PR target/70133 8326 * config/aarch64/driver-aarch64.c 8327 (aarch64_get_extension_string_for_isa_flags): New. 8328 (arch_extension): Rename to... 8329 (aarch64_arch_extension): ...This. 8330 (ext_to_feat_string): Rename to... 8331 (aarch64_extensions): ...This. 8332 (aarch64_core_data): Keep track of architecture extension flags. 8333 (cpu_data): Rename to... 8334 (aarch64_cpu_data): ...This. 8335 (aarch64_arch_driver_info): Keep track of architecture extension 8336 flags. 8337 (get_arch_name_from_id): Rename to... 8338 (get_arch_from_id): ...This, change return type. 8339 (host_detect_local_cpu): Update and reformat for renames, handle 8340 extensions through common infrastructure. 8341 83422016-04-11 James Greenhalgh <james.greenhalgh@arm.com> 8343 8344 PR target/70133 8345 * config/aarch64/aarch64-common.c (aarch64_option_extension): Keep 8346 track of a canonical flag name. 8347 (all_extensions): Likewise. 8348 (arch_to_arch_name): Also track extension flags enabled by the arch. 8349 (all_architectures): Likewise. 8350 (aarch64_parse_extension): Move to here. 8351 (aarch64_get_extension_string_for_isa_flags): Take a new argument, 8352 rework. 8353 (aarch64_rewrite_selected_cpu): Update for above change. 8354 * config/aarch64/aarch64-option-extensions.def: Rework the way flags 8355 are handled, such that the single explicit value enabled by an 8356 extension is kept seperate from the implicit values it also enables. 8357 * config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move 8358 to here. 8359 (aarch64_parse_extension): New. 8360 * config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from 8361 here to config/aarch64/aarch64-protos.h. 8362 (aarch64_parse_extension): Move from here to 8363 common/config/aarch64/aarch64-common.c. 8364 (aarch64_option_print): Update. 8365 (aarch64_declare_function_name): Likewise. 8366 (aarch64_start_file): Likewise. 8367 * config/aarch64/driver-aarch64.c (arch_extension): Keep track of 8368 the canonical flag for extensions. 8369 * config.gcc (aarch64*-*-*): Extend regex for capturing extension 8370 flags. 8371 83722016-04-11 James Greenhalgh <james.greenhalgh@arm.com> 8373 8374 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add 8375 AARCH64_FL_CRC. 8376 83772016-04-09 Tom de Vries <tom@codesourcery.com> 8378 8379 PR tree-optimization/68953 8380 * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from 8381 first to last subscript. 8382 83832016-04-09 Jakub Jelinek <jakub@redhat.com> 8384 8385 PR tree-optimization/70586 8386 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false 8387 for any calls. 8388 83892016-04-08 Cesar Philippidis <cesar@codesourcery.com> 8390 8391 PR lto/70289 8392 PR ipa/70348 8393 PR tree-optimization/70373 8394 PR middle-end/70533 8395 PR middle-end/70534 8396 PR middle-end/70535 8397 * gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data 8398 clauses for acc parallel reductions as necessary. Error on those 8399 that are private. 8400 * omp-low.c (scan_sharing_clauses): Don't install variables which 8401 are used in acc parallel reductions. 8402 (lower_rec_input_clauses): Remove dead code. 8403 (lower_oacc_reductions): Add support for reference reductions. 8404 (lower_reduction_clauses): Remove dead code. 8405 (lower_omp_target): Don't remap variables appearing in acc parallel 8406 reductions. 8407 * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro. 8408 84092016-04-08 Jakub Jelinek <jakub@redhat.com> 8410 8411 PR middle-end/70593 8412 * tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt 8413 with multiple SSA_NAME defs, force the outputs other than first 8414 to be live before calling live_track_process_def on each output. 8415 8416 PR rtl-optimization/70574 8417 * fwprop.c (forward_propagate_and_simplify): Don't add 8418 REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg. 8419 (try_fwprop_subst): Don't add REG_EQUAL note if there are any 8420 paradoxical subregs within *loc. 8421 84222016-04-08 Thomas Schwinge <thomas@codesourcery.com> 8423 8424 * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore 8425 -ftree-parallelize-loops={0,1}. 8426 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. 8427 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise. 8428 * config/ia64/hpux.h (LIB_SPEC): Likewise. 8429 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. 8430 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise. 8431 84322016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com> 8433 8434 PR sanitizer/70541 8435 * asan.c (instrument_derefs): If we get unknown location, extract it 8436 with EXPR_LOCATION. 8437 (maybe_instrument_call): Instrument gimple_call's arguments if needed. 8438 84392016-04-08 Tom de Vries <tom@codesourcery.com> 8440 8441 * omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc 8442 implicit firstprivate clause. 8443 84442016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 8445 8446 PR target/70566 8447 * config/arm/thumb2.md (tst + branch-> lsls + branch 8448 peephole below *orsi_not_shiftsi_si): Require that condition 8449 register is dead after the peephole. 8450 (second peephole after the above): Likewise. 8451 84522016-04-08 Alan Modra <amodra@gmail.com> 8453 8454 PR target/70117 8455 * builtins.c (fold_builtin_classify): For IBM extended precision, 8456 look at just the high-order double to test for NaN. 8457 (fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal 8458 test just the high double for Inf but both doubles for subnormal 8459 limit. 8460 84612016-04-07 Jakub Jelinek <jakub@redhat.com> 8462 8463 * cgraph.h (struct cgraph_simd_clone): Add mask_mode field. 8464 * omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle 8465 node->simdclone->mask_mode != VOIDmode masks. 8466 (simd_clone_adjust_argument_types): Likewise. Move sc var definition 8467 earlier, use it instead of node->simdclone. 8468 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): 8469 Set clonei->mask_mode. 8470 84712016-04-06 Patrick Palka <ppalka@gcc.gnu.org> 8472 8473 PR c/70436 8474 * parser.c (cp_parser_iteration_statement): New parameter IF_P. 8475 Pass it through to cp_parser_already_scoped_statement. 8476 (cp_parser_already_scoped_statement): New parameter IF_P. Pass 8477 it through to cp_parser_statement. 8478 (cp_parser_statement): Pass IF_P through to 8479 cp_parser_iteration_statement. 8480 (cp_parser_pragma): Adjust call to 8481 cp_parser_iteration_statement. 8482 84832016-04-06 Patrick Palka <ppalka@gcc.gnu.org> 8484 8485 PR c/70436 8486 * gimplify.c (gimplify_omp_ordered): Add explicit braces to 8487 resolve a future -Wparentheses warning. 8488 * omp-low.c (scan_sharing_clauses): Likewise. 8489 * tree-parloops.c (eliminate_local_variables): Likewise. 8490 84912016-04-06 Vladimir Makarov <vmakarov@redhat.com> 8492 8493 PR rtl-optimization/70398 8494 * lra-constraints.c (process_address_1): Check zero scale and code 8495 for reloading with zero scale. 8496 84972016-04-06 Uros Bizjak <ubizjak@gmail.com> 8498 8499 * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes. 8500 (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes. 8501 85022016-04-06 Jakub Jelinek <jakub@redhat.com> 8503 8504 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): 8505 Add support for AVX512F clones, include them by default for 8506 exported OpenMP declare simd functions. For AVX2 allow simdlen 32 8507 and use it if charasteric type is 8-bit, for AVX512F allow simdlen 8508 up to 128. 8509 8510 PR middle-end/70550 8511 * tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define. 8512 * gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit 8513 firstprivate clauses. 8514 * omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for 8515 OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts. 8516 (lower_omp_target): Set TREE_NO_WARNING for 8517 non-addressable possibly uninitialized vars which are copied into 8518 addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT. 8519 85202016-04-05 John David Anglin <danglin@gcc.gnu.org> 8521 8522 * config/pa/predicates.md (integer_store_memory_operand): Accept 8523 REG+D operands with a large offset when reload_in_progress is true. 8524 (floating_point_store_memory_operand): Likewise. 8525 85262016-04-05 Jakub Jelinek <jakub@redhat.com> 8527 8528 PR c++/70336 8529 * match.pd (nested int casts): Limit to GIMPLE. 8530 85312016-04-05 Jan Hubicka <hubicka@ucw.cz> 8532 8533 PR ipa/66223 8534 * ipa-devirt.c (maybe_record_node): Fix comment; use 8535 SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED. 8536 85372016-04-05 Jakub Jelinek <jakub@redhat.com> 8538 8539 PR rtl-optimization/70542 8540 * ree.c (add_removable_extension): For VECTOR_MODE_P punt 8541 if there are any uses other than insn or debug insns. 8542 85432016-04-05 Marc Glisse <marc.glisse@inria.fr> 8544 Jakub Jelinek <jakub@redhat.com> 8545 8546 PR tree-optimization/70509 8547 * simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>: 8548 Shift HOST_WIDE_INT_1U instead of 1. 8549 85502016-04-05 Zdenek Sojka <zsojka@seznam.cz> 8551 8552 PR tree-optimization/70509 8553 * tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead 8554 of the vector base type for index. 8555 85562016-04-05 Uros Bizjak <ubizjak@gmail.com> 8557 8558 PR target/70510 8559 * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes. 8560 85612016-04-05 Richard Biener <rguenther@suse.de> 8562 8563 PR tree-optimization/70526 8564 * tree-sra.c (build_ref_for_offset): Use prev_base to 8565 extract the alias pointer type. 8566 85672016-04-05 Richard Biener <rguenther@suse.de> 8568 8569 * dse.c (struct store_info): Remove alias_set member. 8570 (struct read_info_type): Likewise. 8571 (clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder, 8572 spill_deleted, clear_alias_set_lookup): Remove. 8573 (get_group_info): Remove dead base == NULL_RTX case. 8574 (dse_step0): Remove initialization of removed variables. 8575 (delete_dead_store_insn): Reomve alias set dumping. 8576 (free_read_records): Remove alias_set handling. 8577 (canon_address): Remove alias_set_out parameter. 8578 (record_store): Remove spill_alias_set, it's always zero. 8579 (check_mem_read_rtx): Likewise. 8580 (dse_step2): Rename from ... 8581 (dse_step2_nospill): ... this. Adjust. 8582 (scan_stores): Rename from ... 8583 (scan_stores_nospill): ... this. 8584 (scan_reads): Rename from ... 8585 (scan_reads_nospill): ... this. 8586 (scan_stores_spill, scan_reads_spill): Remove. 8587 (dse_step3_scan): Remove for_spills argument which is always false. 8588 (dse_step3): Likewise. 8589 (dse_step5): Rename from ... 8590 (dse_step5_nospill): ... this. Remove alias_set handling. 8591 (rest_of_handle_dse): Adjust. 8592 85932016-04-05 Jakub Jelinek <jakub@redhat.com> 8594 8595 PR target/70525 8596 * config/i386/sse.md (*andnot<mode>3): Simplify assertions. 8597 Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for 8598 V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting. 8599 (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator. 8600 86012016-04-05 Richard Biener <rguenther@suse.de> 8602 8603 PR middle-end/70499 8604 * gimplify-me.c (gimple_regimplify_operands): Do not rewrite 8605 non-register type temporaries into SSA. 8606 86072016-04-04 Jan Hubicka <hubicka@ucw.cz> 8608 8609 PR ipa/66223 8610 * ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual 8611 calls when sanitizing. 8612 (possible_polymorphic_call_target_p): Fix formatting. 8613 86142016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 8615 Jakub Jelinek <jakub@redhat.com> 8616 8617 PR middle-end/70457 8618 * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p 8619 to ensure a call statement is compatible with a built-in's 8620 prototype. 8621 * tree-ssa-math-opts.c (pass_optimize_windening_mul::execute): 8622 Likewise. 8623 86242016-04-04 Richard Biener <rguenther@suse.de> 8625 8626 PR rtl-optimization/70484 8627 * rtl.h (canon_output_dependence): Declare. 8628 * alias.c (canon_output_dependence): New function. 8629 * dse.c (record_store): Use canon_output_dependence rather 8630 than canon_true_dependence. 8631 86322016-03-30 Jan Hubicka <hubicka@ucw.cz> 8633 8634 PR ipa/68881 8635 * cgraph.h (symtab_node::copy_visibility_from): New function. 8636 * symtab.c (symtab_node::copy_visibility_from): New function. 8637 * ipa-visibility.c (optimize_weakref): New function. 8638 (function_and_variable_visibility): Use it. 8639 86402016-04-04 Martin Liska <mliska@suse.cz> 8641 8642 PR hsa/70402 8643 * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index 8644 value that is really in range handled by SBR instruction. 8645 * hsa-brig.c (emit_switch_insn): Do not emit unconditional jump. 8646 * hsa-dump.c (dump_hsa_insn_1): Do not dump default BB. 8647 * hsa.h (hsa_insn_sbr::m_default_bb): Remove field. 8648 86492016-04-03 Oleg Endo <olegendo@gcc.gnu.org> 8650 8651 PR target/70416 8652 PR target/67391 8653 * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is 8654 set, but not for SP_REG operands. 8655 86562016-04-02 Martin Sebor <msebor@redhat.com> 8657 8658 PR c++/67376 8659 * fold-const.c (maybe_nonzero_address): New function. 8660 (fold_comparison): Call it. Fold equality and relational 8661 expressions involving null pointers. 8662 (tree_single_nonzero_warnv_p): Call maybe_nonzero_address. 8663 86642016-03-31 Evandro Menezes <e.menezes@samsung.com> 8665 8666 Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate 8667 the "Y" constraint (scalar FP 0.0 immediate). 8668 8669 * gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero): 8670 Add the "const_double" to the list of operand constraints. 8671 86722016-04-01 Jakub Jelinek <jakub@redhat.com> 8673 8674 PR rtl-optimization/70467 8675 * config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword): 8676 If low word of the last operand is 0, just emit addition/subtraction 8677 for the high word. 8678 86792016-04-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 8680 8681 PR target/70404 8682 * config/s390/s390.c (s390_expand_insv): Check for everything 8683 constant instead of just VOIDmode stuff. 8684 86852016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 8686 8687 PR target/70496 8688 * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB. 8689 86902016-04-01 Nathan Sidwell <nathan@acm.org> 8691 8692 * tree.def (TRY_CATCH_EXPR): Correct documentation. 8693 86942016-03-31 Vladimir Makarov <vmakarov@redhat.com> 8695 8696 PR rtl-optimization/70461 8697 * ira-color.c (allocno_copy_cost_saving): Use allocno class if it 8698 is necessary. 8699 87002016-03-31 Martin Liska <mliska@suse.cz> 8701 8702 PR hsa/70399 8703 * hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either 8704 a tree value or an immediate integer value to a buffer 8705 that is eventually copied to a BRIG section. 8706 (emit_immediate_operand): Call the function here. 8707 * hsa-dump.c (dump_hsa_immed): Remove checking assert. 8708 * hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization 8709 of class' fields that are removed. 8710 (hsa_op_immed::~hsa_op_immed): Remove deinitialization. 8711 * hsa.h (class hsa_op_immed): Remove m_brig_repr and 8712 m_brig_repr_size fields. 8713 87142016-03-31 Martin Liska <mliska@suse.cz> 8715 8716 PR hsa/70391 8717 * hsa-gen.c (hsa_function_representation::update_dominance): New 8718 function. 8719 (convert_addr_to_flat_segment): Likewise. 8720 (gen_hsa_memory_set): New alignment argument. 8721 (gen_hsa_ctor_assignment): Likewise. 8722 (gen_hsa_insns_for_single_assignment): Provide alignment 8723 to gen_hsa_ctor_assignment. 8724 (gen_hsa_insns_for_direct_call): Add new argument. 8725 (expand_lhs_of_string_op): New function. 8726 (expand_string_operation_builtin): Likewise. 8727 (expand_memory_copy): New function. 8728 (expand_memory_set): New function. 8729 (gen_hsa_insns_for_call): Use HOST_WIDE_INT. 8730 (convert_switch_statements): Change signature. 8731 (generate_hsa): Use a return value of the function. 8732 (pass_gen_hsail::execute): Do not call 8733 convert_switch_statements here. 8734 * hsa-regalloc.c (hsa_regalloc): Call update_dominance. 8735 * hsa.h (hsa_function_representation::m_modified_cfg): New flag. 8736 (hsa_function_representation::update_dominance): New function. 8737 87382016-03-31 Martin Liska <mliska@suse.cz> 8739 8740 PR hsa/70391 8741 * hsa-brig.c (emit_directive_variable): Emit alignment 8742 according to hsa_symbol::m_align. 8743 * hsa-dump.c (hsa_byte_alignment): Move the function to another file. 8744 (dump_hsa_symbol): Dump alignment of HSA symbols. 8745 * hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol. 8746 (gen_hsa_addr_with_align): New function. 8747 (hsa_bitmemref_alignment): Use newly added function. 8748 (gen_hsa_insns_for_load): Likewise. 8749 (gen_hsa_insns_for_store): Likewise. 8750 (gen_hsa_memory_copy): New argument added. 8751 (gen_hsa_insns_for_single_assignment): Respect 8752 alignment for assignments processed via gen_hsa_memory_copy. 8753 (gen_hsa_insns_for_direct_call): Likewise. 8754 (gen_hsa_insns_for_return): Likewise. 8755 (gen_function_def_parameters): Set default alignment. 8756 * hsa.c (hsa_object_alignment): New function. 8757 (hsa_byte_alignment): Pasted function. 8758 * hsa.h (hsa_symbol::m_align): New field. 8759 87602016-03-31 Bin Cheng <bin.cheng@arm.com> 8761 8762 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize 8763 scratch field for goto case. 8764 87652016-03-31 James Greenhalgh <james.greenhalgh@arm.com> 8766 8767 * config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete. 8768 87692016-03-31 Ilya Enkovich <enkovich.gnu@gmail.com> 8770 8771 PR target/70442 8772 * config/i386/i386.c (scalar_chain::convert_op): Fix description. 8773 (scalar_chain::convert_insn): Call convert_op for reg 8774 moves to handle undefined registers. 8775 87762016-03-31 Nathan Sidwell <nathan@acm.org> 8777 8778 PR c++/70393 8779 * varasm.c (output_constructor_regular_field): Flush bitfield earlier. 8780 Assert we don't want to move backwards. 8781 87822016-03-31 Kirill Yukhin <kirill.yukhin@intel.com> 8783 8784 PR target/70453 8785 * config/i386/sse.md (define_mode_attr shuffletype): Fix typo. 8786 87872016-03-31 Jakub Jelinek <jakub@redhat.com> 8788 8789 PR rtl-optimization/70460 8790 * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF 8791 with operand from REG_LABEL_OPERAND, instead substitute 8792 SET_SRC or REG_EQUAL note content if it is a LABEL_REF. 8793 Don't do anything for REG_NON_LOCAL_GOTO jumps. 8794 87952016-03-31 Martin Liska <mliska@suse.cz> 8796 8797 * passes.c (execute_one_pass): Do not call 8798 todo_after for a discarded function. 8799 88002016-03-31 Bin Cheng <bin.cheng@arm.com> 8801 8802 * tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field. 8803 (no_cost, infinite_cost): Initialize the new field. 8804 (get_computation_cost_at): Record setup cost. 8805 (determine_use_iv_cost_address): Skip cost computation for sub 8806 uses if we can estimate it without losing accuracy. 8807 88082016-03-30 Jan Hubicka <hubicka@ucw.cz> 8809 8810 * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic 8811 estimates here. 8812 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also 8813 max_loop_iterations_int. 8814 (tree_unswitch_outer_loop): Likewise. 8815 * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise. 8816 * tree-vect-loop.c (vect_analyze_loop_2): Likewise. 8817 88182016-03-30 Richard Biener <rguenther@suse.de> 8819 8820 PR middle-end/70450 8821 * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage. 8822 88232016-03-30 Jakub Jelinek <jakub@redhat.com> 8824 8825 PR target/70421 8826 * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order 8827 in gen_blendm expander. 8828 88292016-03-30 Nick Clifton <nickc@redhat.com> 8830 8831 PR target/62254 8832 * config/arm/arm.c (arm_reload_out_hi): Add code to handle the 8833 case where we are already provided with an SImode SUBREG. 8834 88352016-03-30 H.J. Lu <hongjiu.lu@intel.com> 8836 8837 PR target/70439 8838 * config/i386/i386.c (ix86_expand_epilogue): Properly check 8839 conflict between DRAP register and __builtin_eh_return. 8840 88412016-03-30 Michael Matz <matz@suse.de> 8842 Richard Biener <rguenther@suse.de> 8843 8844 PR ipa/12392 8845 * ipa-polymorphic-call.c (struct type_change_info): Change 8846 speculative to an unsigned allowing to limit the work we do. 8847 (csftc_abort_walking_p): New inline function.. 8848 (check_stmt_for_type_change): Limit the number of may-defs 8849 skipped for speculative devirtualization to 8850 max-speculative-devirt-maydefs. 8851 * params.def (max-speculative-devirt-maydefs): New param. 8852 * doc/invoke.texi (--param max-speculative-devirt-maydefs): Document. 8853 88542016-03-30 Mike Stump <mrs@gcc.gnu.org> 8855 8856 PR target/63890 8857 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling 8858 and TARGET_MACHO. 8859 88602016-03-30 Patrick Palka <ppalka@gcc.gnu.org> 8861 8862 PR tree-optimization/59124 8863 * tree-vrp.c (register_edge_assert_for_2): For NAME != CST1 8864 where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2). 8865 88662016-03-29 Jeff Law <law@redhat.com> 8867 8868 * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment. 8869 88702016-03-10 Jan Hubicka <hubicka@ucw.cz> 8871 8872 * tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel 8873 to HOST_WIDE_INT. 8874 88752016-03-29 Thomas Schwinge <thomas@codesourcery.com> 8876 8877 * config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override. 8878 * config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of 8879 gcrt0.o if linking dynamically. 8880 88812016-03-10 Jan Hubicka <hubicka@ucw.cz> 8882 8883 PR ipa/70283 8884 * ipa-devirt.c (methods_equal_p): New function. 8885 (compare_virtual_tables): Use it. 8886 * cgraph.h (symbol_table::symbol_suffix_separator): Declare. 8887 * cgraphclones.c (clone_function_name_1): Use 8888 symbol_table::symbol_suffix_separator. 8889 * coverage.c (build_var): Likewise. 8890 * symtab.c (symbol_table::symbol_suffix_separator): New. 8891 88922016-03-29 Jakub Jelinek <jakub@redhat.com> 8893 8894 PR rtl-optimization/70429 8895 * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize 8896 (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if 8897 mode != result_mode. 8898 8899 PR c++/70353 8900 * tree-inline.c (remap_decls): Don't add_local_decl if cfun is null. 8901 8902 PR tree-optimization/70405 8903 * ssa-iterators.h (num_imm_uses): Add missing braces. 8904 89052016-03-29 Vladimir Makarov <vmakarov@redhat.com> 8906 8907 PR rtl-optimization/68695 8908 * ira-color.c (allocno_copy_cost_saving): New. 8909 (improve_allocation): Use it. 8910 89112016-03-29 Richard Henderson <rth@redhat.com> 8912 8913 PR middle-end/70355 8914 * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs. 8915 89162016-03-29 Richard Biener <rguenther@suse.de> 8917 8918 PR middle-end/70424 8919 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always 8920 use alignment returned by get_pointer_alignment_1 if it is 8921 bigger than BITS_PER_UNIT. 8922 * builtins.c (get_pointer_alignment_1): Do not return true 8923 for alignment extracted from SSA info. 8924 89252016-03-28 James Bowman <james.bowman@ftdichip.com> 8926 8927 * config/ft32/ft32.opt (mnodiv): New. 8928 * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV. 8929 * doc/invoke.texi (FT32 Options -mnodiv): New. 8930 89312016-03-28 Kirill Yukhin <kirill.yukhin@intel.com> 8932 8933 PR target/70406 8934 * config/i386/i386.md (define_split, andn): Fix modes. 8935 89362016-03-26 Richard Biener <rguenther@suse.de> 8937 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 8938 8939 PR ipa/70366 8940 * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl) 8941 instead of 8942 TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl)) 8943 as 2nd argument to cl_optimization_restore(). 8944 89452016-03-25 Richard Henderson <rth@redhat.com> 8946 8947 PR target/70120 8948 * config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New. 8949 * config/aarch64/aarch64-protos.h: Declare it. 8950 * config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New. 8951 89522016-03-25 Alan Modra <amodra@gmail.com> 8953 8954 PR target/70052 8955 * config/rs6000/constraints.md (j): Simplify. 8956 * config/rs6000/predicates.md (easy_fp_constant): Exclude 8957 decimal float 0.D. 8958 * config/rs6000/rs6000.md (zero_fp): New mode_attr. 8959 (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64, 8960 mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j 8961 in all constraint alternatives. 8962 (movtd_64bit_nodm): Delete "j" constraint alternative. 8963 89642016-03-24 Aldy Hernandez <aldyh@redhat.com> 8965 8966 * tree-ssa-propagate.c: Enhance docs for 8967 SSA_PROP_NOT_INTERESTING. 8968 89692016-03-24 Aldy Hernandez <aldyh@redhat.com> 8970 8971 * doc/extend.texi: Fix typo in documentation to pure attribute. 8972 89732016-03-24 John David Anglin <danglin@gcc.gnu.org> 8974 8975 PR target/70319 8976 * config/pa/pa.md (bswapdi2): Use a scratch register. 8977 89782016-03-24 Richard Henderson <rth@redhat.com> 8979 8980 PR middle-end/69845 8981 * fold-const.c (extract_muldiv_1): Correct test for multiplication 8982 overflow. 8983 89842016-03-24 Uros Bizjak <ubizjak@gmail.com> 8985 8986 * config/i386/i386.md (*anddi3_doubleword): Generate AND insn 8987 using ix86_expand_binary_operator instead of gen_andsi3. 8988 89892016-03-24 Richard Biener <rguenther@suse.de> 8990 8991 PR tree-optimization/70396 8992 * tree-vect-stmts.c (vectorizable_comparison): Use 8993 get_vectype_for_scalar_type. 8994 89952016-03-24 Richard Biener <rguenther@suse.de> 8996 8997 PR middle-end/70370 8998 * gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs 8999 with register bases. 9000 90012016-03-24 Richard Biener <rguenther@suse.de> 9002 9003 PR tree-optimization/70372 9004 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use 9005 build_all_ones_cst to also handle vector types correctly. 9006 90072016-03-23 Michael Meissner <meissner@linux.vnet.ibm.com> 9008 9009 PR target/70381 9010 * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set 9011 -mfloat128 here. 9012 90132016-03-23 Marek Polacek <polacek@redhat.com> 9014 9015 PR c++/69884 9016 * doc/invoke.texi: Document -Wignored-attributes. 9017 90182016-03-23 Bin Cheng <bin.cheng@arm.com> 9019 9020 PR tree-optimization/69042 9021 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the 9022 parameter from 30 to 40. 9023 90242016-03-23 Bin Cheng <bin.cheng@arm.com> 9025 9026 PR tree-optimization/69042 9027 * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand 9028 for use with constant offset stripped in base. 9029 90302016-03-23 Richard Biener <rguenther@suse.de> 9031 9032 PR middle-end/70251 9033 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust 9034 mode compatibility check. 9035 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise. 9036 90372016-03-23 Jeff Law <law@redhat.com> 9038 9039 PR tree-optimization/64058 9040 * tree-ssa-coalesce.c (struct coalesce_pair): Add new field 9041 CONFLICT_COUNT. 9042 (struct ssa_conflicts): Move up earlier in the file. 9043 (conflicts_, var_map_): New static variables. 9044 (initialize_conflict_count): New function to initialize the 9045 CONFLICT_COUNT field for each conflict pair. 9046 (compare_pairs): Lazily initialize the conflict count and use it 9047 as the first tie-breaker. 9048 (sort_coalesce_list): Add new arguments conflicts, map. Initialize 9049 and wipe conflicts_ and map_ around the call to qsort. Remove 9050 special case for 2 coalesce pairs. 9051 * bitmap.c (bitmap_count_unique_bits): New function. 9052 (bitmap_count_bits_in_word): New function, extracted from 9053 bitmap_count_bits. 9054 (bitmap_count_bits): Use bitmap_count_bits_in_word. 9055 * bitmap.h (bitmap_count_unique_bits): Declare it. 9056 90572016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com> 9058 9059 PR target/69917 9060 * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow 9061 transparent alias chain for decl assembler name. 9062 * config/sol2.c (solaris_assemble_visibility): Likewise. 9063 90642016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 9065 9066 * config/arm/arm1020e.md (1020call_op): Reduce reservation 9067 duration. 9068 (v10_fdivs): Likewise. 9069 (v10_fdivd): Likewise. 9070 90712016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 9072 9073 PR driver/70132 9074 * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic 9075 to not call fclose twice on file. 9076 90772016-03-23 Jakub Jelinek <jakub@redhat.com> 9078 9079 PR tree-optimization/70354 9080 * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If 9081 oprnd0 is wider than oprnd1 and there is a cast from the wider 9082 type to oprnd1, mask it with the mask of the narrower type. 9083 9084 PR target/70321 9085 * config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword): 9086 Optimize TARGET_STV splitters, if high or low word of last argument 9087 is 0 or -1. 9088 90892016-03-22 Jeff Law <law@redhat.com> 9090 9091 PR target/70232 9092 tree-ssa-threadbackward.c 9093 (fsm_find_control_statement_thread_paths): Correctly distinguish 9094 between old style jump threads vs FSM jump threads. 9095 90962016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com> 9097 9098 PR target/70302 9099 * config/i386/i386.c (scalar_chain::convert_op): Support 9100 uninitialized register usage case. 9101 91022016-03-22 Richard Biener <rguenther@suse.de> 9103 9104 PR middle-end/70251 9105 * genmatch.c (gen_transform): Adjust last parameter to a three-state 9106 int... 9107 (capture::gen_transform): ... to change behavior when substituting 9108 a condition into cond or not-cond expr context. 9109 (dt_simplify::gen_1): Adjust. 9110 * gimple-match-head.c: Include gimplify.h for unshare_expr. 9111 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert 9112 last change and instead change to 9113 A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0). 9114 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise. 9115 91162016-03-22 Anthony Green <green@moxielogic.com> 9117 9118 * config/moxie/moxiebox.h (CC1_SPEC): Define. Fix endianness 9119 issue for moxiebox targets. 9120 (CC1PLUS_SPEC): Ditto. 9121 91222016-03-22 Richard Biener <rguenther@suse.de> 9123 9124 PR middle-end/70333 9125 * fold-const.c (extract_muldiv_1): Properly perform multiplication 9126 in the wide type. 9127 91282016-03-22 Kirill Yukhin <kirill.yukhin@intel.com> 9129 9130 * config/i386/i386.c (def_builtin): Remove duplicated functionality. 9131 91322016-03-22 Kirill Yukhin <kirill.yukhin@intel.com> 9133 9134 PR target/70325 9135 * config/i386/i386.c (def_builtin): Handle 9136 OPTION_MASK_ISA_AVX512VL to be and-ed with other 9137 bits. 9138 (const struct builtin_description bdesc_special_args[]): 9139 Remove duplicate ISA bits. 9140 91412016-03-22 Jakub Jelinek <jakub@redhat.com> 9142 9143 PR target/70329 9144 * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing 9145 d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i] 9146 in a way that works also for AVX512BW. 9147 9148 PR target/70300 9149 * config/i386/i386.md (cvtsd2ss splitter): Unpack in destination 9150 instead of source if operands[1] is xmm16 and above and 9151 !TARGET_AVX512VL. Use avx512f_vec_dupv16sf_1 instead of 9152 vec_interleave_lowv4sf if we need to unpack xmm16 and above. 9153 9154 PR c++/70295 9155 * gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning 9156 on assign if (*from_p) is a comparison, set it to 9157 TREE_NO_WARNING (*from_p). 9158 91592016-03-21 Jakub Jelinek <jakub@redhat.com> 9160 9161 PR middle-end/70326 9162 * lra.c (restore_scratches): Ignore deleted insns. 9163 91642016-03-21 Marc Glisse <marc.glisse@inria.fr> 9165 Jakub Jelinek <jakub@redhat.com> 9166 9167 PR tree-optimization/70317 9168 * match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0)) 9169 to HONOR_NANS. 9170 91712016-03-21 Uros Bizjak <ubizjak@gmail.com> 9172 9173 PR target/70327 9174 * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead 9175 of ix86_expand_move. 9176 (movoi): Ditto. 9177 (movti): Use general_operand for operand 1 predicate. 9178 91792016-03-21 Martin Liska <mliska@suse.cz> 9180 9181 * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR 9182 insns. 9183 (dump_hsa_symbol): Dump BRIG offset of hsa_symbols. 9184 91852016-03-21 Martin Liska <mliska@suse.cz> 9186 9187 PR ipa/70306 9188 * ipa-icf.c (sem_function::parse): Skip static 9189 constructors and destructors. 9190 91912016-03-21 Jakub Jelinek <jakub@redhat.com> 9192 9193 PR target/70296 9194 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is 9195 function-like macro, peek following token(s) if it is followed 9196 by CPP_OPEN_PAREN token with optional padding in between, and 9197 if not, don't treat it like a macro. 9198 91992016-03-21 Thomas Schwinge <thomas@codesourcery.com> 9200 Alexander Monakov <amonakov@ispras.ru> 9201 9202 * config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry 9203 for the stabs debug format. 9204 92052016-03-21 Richard Biener <rguenther@suse.de> 9206 9207 PR tree-optimization/70310 9208 * tree-vect-generic.c (expand_vector_condition): Fold the built 9209 condition. 9210 92112016-03-21 Kirill Yukhin <kirill.yukhin@intel.com> 9212 9213 PR target/70293 9214 * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2): 9215 Block third alternative for AVX-512VL target, 9216 92172016-03-21 Martin Liska <mliska@suse.cz> 9218 9219 PR hsa/70234 9220 * hsa-brig.c (emit_function_directives): Mark unemitted 9221 global variables for emission. 9222 * hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag. 9223 (get_symbol_for_decl): Likewise. 9224 * hsa.h (struct hsa_symbol): New flag. 9225 92262016-03-21 Richard Biener <rguenther@suse.de> 9227 9228 PR tree-optimization/70288 9229 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure 9230 we do not estimate unsimplified all-constant conditionals or 9231 switches as optimized away. 9232 92332016-03-21 Andrey Belevantsev <abel@ispras.ru> 9234 9235 PR rtl-optimization/69102 9236 * sched-deps.c (sched_analyze_insn): Do not set last_args_size field 9237 when we have a readonly dependency context. 9238 92392016-03-18 Jeff Law <law@redhat.com> 9240 9241 PR rtl-optimization/70263 9242 * ira.c (memref_used_between_p): Assert we found END in the insn chain. 9243 (update_equiv_regs): When trying to move a store to after the insn 9244 that sets the source of the store, make sure the store occurs after 9245 the insn that sets the source of the store. When successful note 9246 the REG_EQUIV note created in the dump file. 9247 92482016-03-16 David Wohlferd <dw@LimeGreenSocks.com> 9249 Bernd Schmidt <bschmidt@redhat.com> 9250 9251 * doc/extend.texi: Document more potential problems with basic asms. 9252 92532016-03-18 Bernd Schmidt <bschmidt@redhat.com> 9254 9255 PR rtl-optimization/70278 9256 * lra-constraints.c (split_reg): Handle the case where biggest_mode is 9257 VOIDmode. 9258 92592016-03-18 Jason Merrill <jason@redhat.com> 9260 9261 * calls.c (load_register_parameters): Fix zero size sibcall logic. 9262 92632016-03-18 Kirill Yukhin <kirill.yukhin@intel.com> 9264 9265 * config/i386/sse.md: Use vpbroadcastq for broadcasting DF 9266 values to 128b regs. 9267 92682016-03-18 Ilya Enkovich <enkovich.gnu@gmail.com> 9269 9270 PR tree-optimization/70252 9271 * tree-vect-stmts.c (supportable_widening_operation): Check resulting 9272 boolean vector has a proper number of elements. 9273 (supportable_narrowing_operation): Likewise. 9274 92752016-03-18 Tom de Vries <tom@codesourcery.com> 9276 9277 PR ipa/70269 9278 * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save. 9279 92802016-03-18 Jakub Jelinek <jakub@redhat.com> 9281 9282 * reload1.c (emit_input_reload_insns): Use simplify_replace_rtx 9283 instead of replace_rtx for DEBUG_INSNs. 9284 92852016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com> 9286 9287 * config/i386/znver1.md : Fix latencies of FP/SSE/AVX 9288 load type reservations. 9289 92902016-03-17 John David Anglin <danglin@gcc.gnu.org> 9291 9292 PR target/70188 9293 * config/pa/constraints.md: Revert 2015-02-13 change. Use 9294 define_constraint for "Q" and "T" constraints. 9295 92962016-03-17 Evandro Menezes <e.menezes@samsung.com> 9297 9298 Tweak the pipeline model for Exynos M1 9299 9300 * config/aarch64/aarch64.c (exynosm1_tunings): Enable weak prefetching 9301 model. 9302 93032016-03-17 David Malcolm <dmalcolm@redhat.com> 9304 9305 PR c/70264 9306 * diagnostic-show-locus.c (compatible_locations_p): Handle the case 9307 where one or both locations aren't within a line_map. 9308 93092016-03-17 H.J. Lu <hongjiu.lu@intel.com> 9310 9311 PR driver/70192 9312 * opts.c (finish_options): Don't set flag_pie to the default if 9313 -fpic, -fPIC, -fno-pic or -fno-PIC is used. Set flag_pic to 0 9314 if it is -1. 9315 93162016-03-17 Joern Rennecke <joern.rennecke@embecosm.com> 9317 9318 * config/i386/i386.md (*movv4qicc_insn+1..36): Pass 9319 true as ALL_REGS argument to replace_rtx. 9320 93212016-03-17 Richard Biener <rguenther@suse.de> 9322 9323 PR debug/70271 9324 * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name 9325 last. 9326 93272016-03-17 Jakub Jelinek <jakub@redhat.com> 9328 9329 PR target/70245 9330 * rtl.h (replace_rtx): Add ALL_REGS argument. 9331 * rtlanal.c (replace_rtx): Likewise. If true, use REGNO 9332 equality and assert mode is the same, instead of just rtx pointer 9333 equality. 9334 * config/i386/i386.md (mov + arithmetics with load peephole): Pass 9335 true as ALL_REGS argument to replace_rtx. 9336 93372016-03-17 Ilya Enkovich <enkovich.gnu@gmail.com> 9338 9339 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply 9340 for boolean vector with vector mode only. 9341 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise. 9342 93432016-03-17 Nick Clifton <nickc@redhat.com> 9344 9345 PR target/70162 9346 * config/rx/rx.c (rx_print_integer): Print negative constants in 9347 decimal. 9348 93492016-03-17 Jakub Jelinek <jakub@redhat.com> 9350 9351 PR target/70261 9352 * rtlanal.c (replace_rtx): Revert 2016-03-16 change. 9353 93542016-03-16 Richard Henderson <rth@redhat.com> 9355 Richard Biener <rguenth@suse.de> 9356 9357 PR middle-end/70240 9358 PR middle-end/68215 9359 PR tree-opt/68714 9360 * gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the 9361 first operand as is_gimple_condexpr. 9362 9363 PR middle-end/70240 9364 PR middle-end/68215 9365 Revert r231575 9366 2015-12-11 Eric Botcazou <ebotcazou@adacore.com> 9367 * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter. 9368 Do not gimplify the result. 9369 (do_unop): Adjust call to tree_vec_extract. 9370 (do_binop): Likewise. 9371 (do_compare): Likewise. 9372 (do_plus_minus): Likewise. 9373 (do_negate): Likewise. 9374 (expand_vector_condition): Likewise. 9375 (do_cond): Likewise. 9376 93772016-03-16 Richard Henderson <rth@redhat.com> 9378 9379 PR target/70048 9380 * config/aarch64/aarch64.c (virt_or_elim_regno_p): New. 9381 (aarch64_classify_address): Use it. 9382 (aarch64_legitimize_address): Force all subexpressions of PLUS 9383 into registers. Simplify as (sfp+const)+reg or (reg+reg)+const. 9384 93852016-03-16 Jakub Jelinek <jakub@redhat.com> 9386 Richard Biener <rguenth@suse.de> 9387 9388 PR target/70245 9389 * rtlanal.c (replace_rtx): For REG, if from is a REG, 9390 return to even if only REGNO is equal, and assert 9391 mode is the same. 9392 93932016-03-11 Jeff Law <law@redhat.com> 9394 9395 PR rtl-optimization/70224 9396 * reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P. 9397 93982016-03-16 Richard Henderson <rth@redhat.com> 9399 9400 PR middle-end/70199 9401 * function.h (struct function): Add has_forced_label_in_static. 9402 * gimplify.c (force_labels_r): Set it. 9403 * lto-streamer-in.c (input_struct_function_base): Read it. 9404 * lto-streamer-out.c (output_struct_function_base): Write it. 9405 * tree-inline.c (has_label_address_in_static_1): Remove. 9406 (copy_forbidden): Remove fndecl parameter; test 9407 has_forced_label_in_static. 9408 (inline_forbidden_p): Update call to copy_forbidden. 9409 (tree_versionable_function_p): Likewise. 9410 * ipa-chkp.c (chkp_instrumentable_p): Likewise. 9411 (chkp_versioning): Likewise. 9412 * tree-inline.h (copy_forbidden): Update decl. 9413 94142016-03-16 Marek Polacek <polacek@redhat.com> 9415 9416 PR c/70093 9417 * cgraphunit.c (cgraph_node::expand_thunk): Also build call to the 9418 function being thunked if the result type doesn't have fixed size. 9419 * gimplify.c (gimplify_modify_expr): Also set LHS if the result type 9420 doesn't have fixed size. 9421 94222016-03-16 Bin Cheng <bin.cheng@arm.com> 9423 9424 * tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by 9425 reporting malformed loop nest. 9426 94272016-03-16 Tom de Vries <tom@codesourcery.com> 9428 9429 PR lto/70187 9430 * ipa-devirt.c (possible_polymorphic_call_targets): Move 9431 nodes.length () == 1 test to before first nodes[0] access. 9432 94332016-03-16 Tom de Vries <tom@codesourcery.com> 9434 9435 PR tree-optimization/68715 9436 * graphite-scop-detection.c (scop_detection::merge_sese): Add missing 9437 single_pred_p test. 9438 94392016-03-16 Tom de Vries <tom@codesourcery.com> 9440 9441 PR tree-optimization/68809 9442 * graphite-scop-detection.c (same_close_phi_node): Test if result types 9443 are the same. 9444 94452016-03-16 Carlos O'Donell <carlos@redhat.com> 9446 Sandra Loosemore <sandra@codesourcery.com> 9447 9448 * doc/extend.texi (Common Function Attributes): Describe ifunc impact 9449 on leaf attribute. Mention ELF interposition problems. 9450 94512016-03-16 Alan Modra <amodra@gmail.com> 9452 9453 PR rtl-optimization/69195 9454 PR rtl-optimization/47992 9455 * ira.c (indirect_jump_optimize): Ignore artificial defs. 9456 Add comments. 9457 94582016-03-15 Eric Botcazou <ebotcazou@adacore.com> 9459 9460 PR bootstrap/69513 9461 * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list. 9462 94632016-03-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 9464 9465 * config/avr/avr.md (rotl<mode>3): Set mode for operand 2. 9466 94672016-03-15 Jakub Jelinek <jakub@redhat.com> 9468 9469 PR rtl-optimization/70222 9470 * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT 9471 optimization if mode is different from result_mode, queue up masking 9472 of the result in outer_op. Formatting fix. 9473 9474 PR middle-end/70239 9475 * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead 9476 of safe_grow. 9477 94782016-03-15 Andrey Belevantsev <abel@ispras.ru> 9479 9480 PR rtl-optimization/69032 9481 * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when 9482 looping backwards over basic block insns. 9483 94842016-03-15 Andrey Belevantsev <abel@ispras.ru> 9485 9486 PR target/66660 9487 * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern 9488 to non-speculative when propagating trap bits. 9489 94902016-03-15 Andrey Belevantsev <abel@ispras.ru> 9491 9492 PR rtl-optimization/63384 9493 * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on 9494 DEBUG_INSN_P insns. 9495 94962016-03-15 Andrey Belevantsev <abel@ispras.ru> 9497 9498 PR target/64411 9499 * sched-deps.c (get_implicit_reg_pending_clobbers): New function, 9500 factored out from ... 9501 (sched_analyze_insn): ... here. 9502 * sched-int.h (get_implicit_reg_pending_clobbers): Declare it. 9503 * sel-sched-ir.c (setup_id_implicit_regs): New function, use 9504 get_implicit_reg_pending_clobbers in it. 9505 (setup_id_reg_sets): Use setup_id_implicit_regs. 9506 (deps_init_id): Ditto. 9507 95082016-03-15 Tom de Vries <tom@codesourcery.com> 9509 9510 PR ipa/70161 9511 * cgraph.c (cgraph_node::get_body): Save, reset and restore 9512 dump_file_name. 9513 * passes.c (execute_one_ipa_transform_pass): Add missing argument to 9514 execute_function_dump. 9515 (execute_one_pass): Don't dump function if it will be dumped after ipa 9516 transform. 9517 95182016-03-15 Segher Boessenkool <segher@kernel.crashing.org> 9519 9520 * genrecog.c (match_pattern_2): If pred is NULL don't call 9521 safe_predicate_mode on it. 9522 95232016-03-14 Jakub Jelinek <jakub@redhat.com> 9524 9525 PR middle-end/70219 9526 * lra-constraints.c (delete_move_and_clobber): Change assertion 9527 to also allow dregno == 0. 9528 95292016-03-14 Richard Henderson <rth@redhat.com> 9530 9531 PR tree-opt/68714 9532 * tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New. 9533 (can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P. 9534 (reassociate_bb): Use optimize_vec_cond_expr; avoid 9535 optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi 9536 on vectors. 9537 95382016-03-14 Bernd Schmidt <bschmidt@redhat.com> 9539 9540 PR target/70083 9541 * lra-lives.c (process_bb_lives): Also update biggest mode for hard 9542 regs. 9543 (lra_create_live_ranges_1): initialize hard register biggest_mode to 9544 VOIDmode. 9545 * lra-constraints.c (split_reg): For hard regs, try to find the 9546 biggest single-register mode used in the function. 9547 95482016-03-14 Richard Biener <rguenther@suse.de> 9549 9550 PR tree-optimization/56365 9551 * tree-ssa-phiopt.c (minmax_replacement): Handle alternate 9552 constants to compare against. 9553 95542016-03-14 Segher Boessenkool <segher@kernel.crashing.org> 9555 9556 PR target/70098 9557 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, 9558 *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output. 9559 (define_split for the GPR case): Use int_reg_operand instead of 9560 gpc_reg_operand for the output. 9561 95622016-03-14 Tom de Vries <tom@codesourcery.com> 9563 9564 PR tree-optimization/70045 9565 * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare 9566 create_empty_if_region_on_edge argument. 9567 95682016-03-13 Eric Botcazou <ebotcazou@adacore.com> 9569 9570 * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define. 9571 (STACK_CHECK_PROTECT): Likewise. 9572 * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise 9573 (STACK_CHECK_PROTECT): Likewise. 9574 * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise 9575 (STACK_CHECK_PROTECT): Likewise. 9576 * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise. 9577 * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise. 9578 (STACK_CHECK_PROTECT): Likewise. 9579 95802016-03-12 Andrey Belevantsev <abel@ispras.ru> 9581 9582 PR rtl-optimization/69307 9583 * sel-sched.c (choose_best_pseudo_reg): Properly check for hard 9584 registers in modes that span more than one register. 9585 95862016-03-12 Vladimir Makarov <vmakarov@redhat.com> 9587 9588 PR target/69614 9589 * lra-constraints.c (delete_move_and_clobber): New. 9590 (remove_inheritance_pseudos): Use it. 9591 95922016-03-12 Eric Botcazou <ebotcazou@adacore.com> 9593 9594 PR ada/70017 9595 * calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if 9596 the libcall is LCT_THROW. 9597 * explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call 9598 for the checking routine. 9599 96002016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com> 9601 9602 PR target/70131 9603 * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the 9604 optimization if we have direct move. 9605 (roundu32<mode>2_fprs): Likewise. 9606 96072016-03-11 Bernd Schmidt <bschmidt@redhat.com> 9608 9609 PR target/70123 9610 * lra-remat.c (operand_to_remat): Disallow hard regs in the value t 9611 be rematerialized. 9612 (reg_overlap_for_remat_p): Renamed from input_regno_present_p. 9613 Arguments swapped. All callers changed. Take reg_renumber into 9614 account, and Calculate and compare register ranges for hard regs. 9615 96162016-03-11 Jeff Law <law@redhat.com> 9617 9618 PR tree-optimization/70190 9619 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): 9620 Handle cases where we can not extract the taken edge, even though we 9621 found a constant value. 9622 9623 PR tree-optimization/64058 9624 * tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX. 9625 (num_coalesce_pairs): Move up earlier in file. 9626 (find_coalesce_pair): Initialize the INDEX field for each pair 9627 discovered. 9628 (compare_pairs): No longer sort on the elements in each pair. 9629 Instead break ties with the index of the coalesce pair. 9630 96312016-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 9632 9633 PR target/70002 9634 * config/aarch64/aarch64-protos.h 9635 (aarch64_save_restore_target_globals): New prototype. 9636 * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): 9637 Call the above when popping pragma. 9638 * config/aarch64/aarch64.c (aarch64_save_restore_target_globals): 9639 New function. 9640 (aarch64_set_current_function): Rewrite using the above. 9641 96422016-03-11 Jakub Jelinek <jakub@redhat.com> 9643 9644 PR tree-optimization/70177 9645 * gimple-expr.h (extract_ops_from_tree_1): Renamed to ... 9646 (extract_ops_from_tree): ... this. In the 2 argument 9647 overload remove _1 suffix. 9648 * gimple-expr.c (extract_ops_from_tree_1): Renamed to ... 9649 (extract_ops_from_tree): ... this. 9650 * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree): 9651 Adjust callers. 9652 * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise. 9653 * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand 9654 extract_ops_from_tree instead of 2 operand one. 9655 96562016-03-11 Alan Lawrence <alan.lawrence@arm.com> 9657 9658 PR tree-optimization/70013 9659 * tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data 9660 for constant-pool entries. 9661 96622016-03-11 Jakub Jelinek <jakub@redhat.com> 9663 9664 PR rtl-optimization/70174 9665 * expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible 9666 followed by gen_lowpart on force_reg instead of just gen_lowpart. 9667 9668 PR tree-optimization/70169 9669 * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and 9670 LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable 9671 for unknown codes. 9672 96732016-03-11 Ilya Enkovich <enkovich.gnu@gmail.com> 9674 Jakub Jelinek <jakub@redhat.com> 9675 9676 PR target/70160 9677 * config/i386/i386.c (scalar_chain::convert_reg): Skip uses 9678 of uninitialized values. 9679 96802016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 9681 9682 * config/s390/s390.md ("trunctddd2"): Turn former define_insn into 9683 define_expand. 9684 ("*trunctddd2"): New pattern definition. 9685 ("trunctdsd2"): Set prep_for_short_prec rounding mode for the 9686 TD->DD truncation. 9687 96882016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 9689 9690 * config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant 9691 definitions for BFP and DFP rounding modes. 9692 ("fixuns_truncdddi2", "fixuns_trunctddi2") 9693 ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2") 9694 ("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2") 9695 ("fix_trunctf<mode>2"): Use the new constants instead of magic 9696 numbers. 9697 96982016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 9699 9700 * config/s390/constraints.md: Adjust comment. 9701 ("Y"): Adjust comment. Rename s390_decompose_shift_count to 9702 s390_decompose_addrstyle_without_index. 9703 * config/s390/predicates.md (shift_count_or_setmem_operand): 9704 Rename to setmem_operand. 9705 * config/s390/s390-protos.h 9706 (s390_decompose_shift_count): Rename to 9707 s390_decompose_addrstyle_without_index. 9708 * config/s390/s390.c (s390_decompose_shift_count) 9709 (s390_mem_constraint, print_shift_count_operand) 9710 (print_operand_address, print_operand): Rename 9711 s390_decompose_shift_count to 9712 s390_decompose_addrstyle_without_index and rename 9713 print_shift_count_operand to print_addrstyle_operand troughout the 9714 file. 9715 * config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long") 9716 ("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"): 9717 Rename shift_count_or_setmem_operand to setmem_operand. 9718 * config/s390/vx-builtins.md ("vec_insert<mode>") 9719 ("vec_promote<mode>"): Replace shift_count_or_setmem_operand with 9720 nonmemory_operand. 9721 97222016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 9723 9724 PR target/70168 9725 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): 9726 Handle overlapping retval and newval. 9727 97282016-03-10 Nick Clifton <nickc@redhat.com> 9729 9730 PR target/7044 9731 * config/aarch64/aarch64.c 9732 (aarch64_override_options_after_change_1): When forcing 9733 flag_omit_frame_pointer to be true, use a special value that can 9734 be detected if this function is called again, thus preventing 9735 flag_omit_leaf_frame_pointer from being forced to be false. 9736 97372016-03-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 9738 9739 * common/config/aarch64/aarch64-common.c (aarch64_handle_option): 9740 Set x_flag_omit_leaf_frame_pointer when handling 9741 -momit-leaf-frame-pointer. 9742 97432016-03-10 Jan Hubicka <hubicka@ucw.cz> 9744 9745 PR lto/69589 9746 * cgraph.c (cgraph_node::dump): Dump split_part and 9747 indirect_call_target. 9748 * cgraph.h (cgraph_node): Add indirect_call_target flag. 9749 * ipa.c (has_addr_references_p): Cleanup. 9750 (is_indirect_call_target_p): New. 9751 (walk_polymorphic_call_targets): Do not mark virtuals that may be 9752 called indirectly as local. 9753 (symbol_table::remove_unreachable_nodes): Compute indirect_call_target. 9754 97552016-03-10 Jan Hubicka <hubicka@ucw.cz> 9756 9757 PR ipa/69630 9758 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE 9759 on cxa_pure_virtual. 9760 97612016-03-10 Jan Hubicka <hubicka@ucw.cz> 9762 9763 PR lto/69589 9764 * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL. 9765 97662016-03-10 Jan Hubicka <hubicka@ucw.cz> 9767 9768 PR lto/69589 9769 * tree.c (need_assembler_name_p): Only record main variant type names. 9770 97712016-03-10 Christophe Lyon <christophe.lyon@linaro.org> 9772 9773 PR target/70113. 9774 * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT): 9775 Always define to 0 or 1. 9776 (TARGET_FIX_ERR_A53_843419): New macro. 9777 * config/aarch64/aarch64-elf-raw.h 9778 (TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes. 9779 * config/aarch64/aarch64-linux.h: Likewise. 9780 * config/aarch64/aarch64.c 9781 (aarch64_override_options_after_change_1): Do not default 9782 aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum 9783 843419 is on. 9784 (aarch64_attributes): Handle fix-cortex-a53-843419. 9785 (aarch64_can_inline_p): Likewise. 9786 * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save. 9787 97882016-03-10 Alan Lawrence <alan.lawrence@arm.com> 9789 Jakub Jelinek <jakub@redhat.com> 9790 9791 * common.opt (funconstrained-commons, flag_unconstrained_commons): New. 9792 * tree.c (array_at_struct_end_p): Do not limit to size of decl for 9793 DECL_COMMONS if flag_unconstrained_commons is set. 9794 * tree-dfa.c (get_ref_base_and_extent): Likewise. 9795 * doc/invoke.texi (Optimize Options): Add -funconstrained-commons. 9796 (funconstrained-commons): Document. 9797 97982016-03-10 Christophe Lyon <christophe.lyon@linaro.org> 9799 9800 * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add 9801 aarch64-fusion-pairs.def and aarch64-tuning-flags.def 9802 98032016-03-10 Ilya Enkovich <enkovich.gnu@gmail.com> 9804 9805 * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask 9806 has a proper number of elements. 9807 98082016-03-10 Alan Modra <amodra@gmail.com> 9809 9810 PR rtl-optimization/69195 9811 PR rtl-optimization/47992 9812 * ira.c (recorded_label_ref): Delete. 9813 (update_equiv_regs): Return void. 9814 (indirect_jump_optimize): New function. 9815 (ira): Call indirect_jump_optimize and delete_trivially_dead_insns 9816 before regstat_compute_ri. Don't rebuild_jump_labels here. 9817 Delete update_regstat. 9818 98192016-03-10 Richard Biener <rguenther@suse.de> 9820 9821 PR tree-optimization/70128 9822 * tree-ssa-structalias.c (set_uids_in_ptset): Set 9823 vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL. 9824 98252016-03-09 Jakub Jelinek <jakub@redhat.com> 9826 9827 PR tree-optimization/70152 9828 * tree-sra.c (replace_removed_params_ssa_names): Copy over 9829 SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name. 9830 9831 PR target/70086 9832 * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df 9833 instead of gen_sse2_loadlpd. 9834 * config/i386/sse.md (*vec_concatv2df): Rename to... 9835 (vec_concatv2df): ... this. 9836 9837 PR tree-optimization/70127 9838 * fold-const.c (operand_equal_p): Revert the 2015-10-28 change. 9839 98402016-03-09 David Malcolm <dmalcolm@redhat.com> 9841 9842 PR c/68473 9843 PR c++/70105 9844 * diagnostic-show-locus.c (compatible_locations_p): New function. 9845 (layout::layout): Sanitize ranges using compatible_locations_p. 9846 98472016-03-09 David Malcolm <dmalcolm@redhat.com> 9848 9849 PR c/68473 9850 PR c++/70105 9851 * diagnostic-show-locus.c (layout_range::layout_range): Replace 9852 location_range param with three const expanded_locations * and a 9853 bool. 9854 (layout::layout): Replace call to 9855 rich_location::lazily_expand_location with get_expanded_location. 9856 Extract the range and perform location expansion here, passing 9857 the results to the layout_range ctor. 9858 * diagnostic.c (source_range::debug): Delete. 9859 * diagnostic.h (diagnostic_expand_location): Reimplement in terms 9860 of rich_location::get_expanded_location. 9861 * gcc-rich-location.c (get_range_for_expr): Delete. 9862 (gcc_rich_location::add_expr): Reimplement to avoid the 9863 rich_location::add_range overload that took a location_range, 9864 passing a location_t instead. 9865 98662016-03-09 Richard Biener <rguenther@suse.de> 9867 Jakub Jelinek <jakub@redhat.com> 9868 9869 PR tree-optimization/70138 9870 * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): 9871 Also skip vect_double_reduction_def. 9872 98732016-03-09 Jakub Jelinek <jakub@redhat.com> 9874 9875 PR target/70049 9876 * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0 9877 if the operand is "m". 9878 98792016-03-09 Nathan Sidwell <nathan@acm.org> 9880 9881 * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level. 9882 98832016-03-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com> 9884 9885 * config/i386/i386.c (processor_target_table): Fix cost table 9886 intialization order for znver1. 9887 98882016-03-08 Jakub Jelinek <jakub@redhat.com> 9889 9890 * ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling 9891 - becuase -> because. 9892 * ipa-reference.c (ignore_module_statics): Likewise. 9893 * cgraph.c (cgraph_node::get_body): Likewise. 9894 * ipa-inline.c (early_inliner): Likewise. 9895 * ipa-devirt.c (types_same_for_odr): Likewise. 9896 * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise. 9897 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise. 9898 98992016-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 9900 9901 * tree-ssa-math-opts.c: Fix typo in comment. 9902 99032016-03-08 Jakub Jelinek <jakub@redhat.com> 9904 9905 PR target/70110 9906 * config/i386/i386.c (scalar_chain::make_vector_copies, 9907 scalar_chain::convert_reg): Call end_sequence in between 9908 get_insns and emit_conversion_insns rather than after both 9909 calls. 9910 99112016-03-07 Uros Bizjak <ubizjak@gmail.com> 9912 9913 PR target/70064 9914 * config/i386/i386.h (machine_function): Add 9915 pc_thunk_call_expanded flag. 9916 (ix86_pc_thunk_call_expanded): New define. 9917 * config/i386/i386.md (set_got, set_got_labelled): New expanders. 9918 (*set_got): Rename insn pattern from set_got. 9919 (*set_got_labelled): Rename inst pattern from set_got_labelled. 9920 * config/i386/i386.c (ix86_compute_frame_layout): Use 9921 ix86_pc_thunk_call_expanded to prevent red-zone. 9922 99232016-03-07 Martin Jambor <mjambor@suse.cz> 9924 9925 * hsa.h (hsa_get_ctor_statements): Declare. 9926 (hsa_get_dtor_statements): Likewise. 9927 (hsa_get_kernel_dispatch_type): Likewise. 9928 * hsa.c (hsa_get_ctor_statements): New function. 9929 (hsa_get_dtor_statements): Likewise. 9930 (hsa_get_kernel_dispatch_type): Likewise. 9931 * hsa-brig.c (hsa_cdtor_statements): Removed. 9932 (hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and 9933 hsa_get_dtor_statements. 9934 * hsa-gen.c (hsa_kernel_dispatch_type): Removed. 9935 (get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type. 9936 99372016-03-07 Andre Vieira <andre.simoesdiasvieira@arm.com> 9938 9939 * config/arm/arm-cores.def (cortex-r8): New. 9940 * config/arm/arm-tables.opt (cortex-r8): Regenerate. 9941 * config/arm/arm-tune.md: Likewise. 9942 * gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values. 9943 99442016-03-07 Martin Sebor <msebor@redhat.com> 9945 9946 PR rtl-optimization/19705 9947 * doc/invoke.texi (Options That Control Optimization): Clarify 9948 -fno-branch-count-reg. 9949 99502016-02-26 Richard Biener <rguenther@suse.de> 9951 Jeff Law <law@redhat.com> 9952 9953 PR tree-optimization/69740 9954 * cfghooks.c (remove_edge): Request loop fixups if we delete 9955 an edge that might turn an irreducible loop into a natural 9956 loop. 9957 * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP. 9958 Move after definition of loops_state_clear. 9959 99602016-03-07 Bin Cheng <bin.cheng@arm.com> 9961 9962 PR rtl-optimization/69052 9963 * rtlanal.c (commutative_operand_precedence): Set higher precedence 9964 to CONST_WIDE_INT. 9965 99662016-03-07 Tom de Vries <tom@codesourcery.com> 9967 9968 PR tree-optimization/70116 9969 * tree-ssa-tail-merge.c (merge_stmts_p): New function, handling 9970 is_tm_ending stmts and ubsan/asan internal functions. 9971 (find_duplicate): Use it. Don't test is_tm_ending here. 9972 99732016-03-07 Richard Biener <rguenther@suse.de> 9974 9975 PR tree-optimization/70115 9976 * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove. 9977 (propagate_constants_for_unrolling): Use replace_uses_by. 9978 99792016-03-07 Nathan Sidwell <nathan@codesourcery.com> 9980 9981 PR middle-end/69916 9982 * omp-low.c (struct oacc_loop): Add ifns. 9983 (new_oacc_loop_raw): Initialize it. 9984 (finish_oacc_loop): Clear mask & flags if no ifns. 9985 (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls. 9986 (oacc_loop_xform_loop): Add ifns arg & adjust. 9987 (oacc_loop_process): Adjust oacc_loop_xform_loop call. 9988 99892016-03-07 Richard Henderson <rth@redhat.com> 9990 9991 PR rtl-opt/70061 9992 * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust. 9993 (insert_value_copy_on_edge): Likewise. 9994 99952016-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 9996 9997 * config/arm/arm_neon.h: Show error if using with soft-float ABI. 9998 99992016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10000 10001 PR target/62281 10002 * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define. 10003 100042016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com> 10005 10006 * config/i386/i386.c (znver1_cost): Fix Multiply cost. 10007 100082016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com> 10009 10010 Fix sseimul type attribute. 10011 * config/i386/znver1.md 10012 (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load, 10013 znver1_sseimul_avx256_load) : Fix the type attribute. 10014 (znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute, 10015 pipe usage and latency. 10016 100172016-03-05 Jakub Jelinek <jakub@redhat.com> 10018 10019 PR c++/70084 10020 * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR 10021 of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it 10022 to the right type. 10023 100242016-03-04 Bernd Schmidt <bschmidt@redhat.com> 10025 10026 PR c/69973 10027 * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT. 10028 10029 PR rtl-optimization/69941 10030 * postreload.c (reload_combine_recognize_pattern): Ensure all uses of 10031 the reg share its mode. 10032 100332016-03-04 Jeff Law <law@redhat.com> 10034 10035 PR tree-optimization/69196 10036 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): 10037 If the both SSA_NAMEs are anonymous, then consider them unassociated 10038 and include the PHI in the statement count. 10039 100402016-03-05 Tom de Vries <tom@codesourcery.com> 10041 10042 * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc 10043 construct in oacc routine. Check for oacc region in oacc routine. 10044 100452016-03-04 Jakub Jelinek <jakub@redhat.com> 10046 10047 PR target/70062 10048 * config/i386/i386.c (decide_alg): Add RECUR argument. Revert 10049 2016-02-22 changes, instead don't recurse if RECUR is already true. 10050 Don't change *dynamic_check if RECUR. Adjust recursive caller 10051 to pass true to the new argument. 10052 (ix86_expand_set_or_movmem): Adjust decide_alg caller. 10053 10054 PR target/70059 10055 * config/i386/sse.md (vec_set_lo_<mode><mask_name>, 10056 <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting 10057 fixes. 10058 (vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands. 10059 100602016-03-04 Bernd Schmidt <bschmidt@redhat.com> 10061 10062 PR rtl-optimization/57676 10063 * lra-assigns.c (lra_assign): Guard test for maximum iterations 10064 with flag_checking. 10065 100662016-03-04 Ilya Enkovich <enkovich.gnu@gmail.com> 10067 10068 * tree-vect-patterns.c (search_type_for_mask): Handle 10069 comparison of booleans. 10070 100712016-03-04 Jakub Jelinek <jakub@redhat.com> 10072 10073 * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align): 10074 Fix @xref usage. 10075 10076 PR debug/69947 10077 * dwarf2out.c (prune_unused_types_walk_loc_descr): Handle 10078 all other ops that have dw_val_class_die_ref operands, 10079 and DW_OP_GNU_entry_value. 10080 100812016-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 10082 10083 PR rtl-optimization/69904 10084 * config/arm/arm.c (arm_cannot_copy_insn_p): 10085 Return true for load-exclusive instructions. 10086 100872016-03-03 Jakub Jelinek <jakub@redhat.com> 10088 10089 PR target/70021 10090 * tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN 10091 argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark 10092 the pattern no matter if it is used just by non-pattern, pattern 10093 or mix thereof. 10094 (process_use, vect_mark_stmts_to_be_vectorized): Adjust callers. 10095 * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If 10096 oprnd1 def_stmt is in pattern, don't look through it. 10097 100982016-03-03 Marek Polacek <polacek@redhat.com> 10099 10100 PR middle-end/70050 10101 * match.pd (X % -Y): Add INTEGRAL_TYPE_P check. 10102 101032016-03-03 Martin Liska <mliska@suse.cz> 10104 10105 PR tree-optimization/70043 10106 * tree-vect-loop.c (optimize_mask_stores): Move iterator to 10107 previous statement if we see a debug statement. 10108 101092016-03-03 Richard Biener <rguenther@suse.de> 10110 10111 PR tree-optimization/55936 10112 * tree-vrp.c (compare_name_with_value): Add use_equiv_p 10113 parameter and guard unsafe equivalence use. 10114 (vrp_evaluate_conditional_warnv_with_ops): Always use 10115 safe equivalences but not via the quadratic compare_names 10116 helper. 10117 101182016-03-03 Michael Collison <michael.collison@linaro.org> 10119 10120 PR target/70014 10121 * config/arm/arm.md (*subsi3_carryin_const): Change predicate 10122 for operand 1 to s_register_operand. Change predicate for operand 10123 2 to arm_not_immediate_operand. 10124 101252016-03-02 H.J. Lu <hongjiu.lu@intel.com> 10126 10127 * doc/tm.texi: Regenerated. 10128 101292016-03-02 Richard Henderson <rth@redhat.com> 10130 10131 PR rtl-opt/67145 10132 * simplify-rtx.c (simplify_plus_minus): Allow reassoc without 10133 simplification when all args are positive non-fixed registers. 10134 101352016-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org> 10136 10137 * target.def (lra_p): Specify that new ports should use LRA. 10138 101392016-03-02 Jakub Jelinek <jakub@redhat.com> 10140 10141 PR libgomp/69555 10142 * gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also 10143 gimplify_type_sizes the type they refer to. 10144 (omp_notice_variable): Handle reference vars to VLAs. 10145 * omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE 10146 reference to VLA decls in the second pass instead of first pass. 10147 101482016-03-02 Tom de Vries <tom@codesourcery.com> 10149 10150 PR tree-optimization/68659 10151 * graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle 10152 new_expr == NULL_TREE. 10153 (get_new_name): Handle ADDR_EXPR. 10154 101552016-03-02 Bin Cheng <bin.cheng@arm.com> 10156 10157 PR rtl-optimization/69052 10158 * loop-invariant.c (canonicalize_address): New function. 10159 (inv_can_prop_to_addr_use): Check validity of address expression 10160 which is canonicalized by above function. 10161 101622016-03-02 Alan Modra <amodra@gmail.com> 10163 10164 PR ipa/69990 10165 * ipa-icf.c (sem_variable::merge): Do not merge an alias with 10166 larger alignment. 10167 101682016-03-02 Jakub Jelinek <jakub@redhat.com> 10169 10170 PR target/70028 10171 * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative. 10172 (*movhi_internal): Put mask moves from and to memory separately 10173 from moves from/to GPRs. 10174 101752016-03-02 Richard Biener <rguenther@suse.de> 10176 10177 * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded 10178 GENERIC expressions in GIMPLE. 10179 101802016-03-02 Richard Biener <rguenther@suse.de> 10181 10182 * config/i386/i386.c (type_natural_mode): Fix typo. 10183 101842016-03-02 Nick Clifton <nickc@redhat.com> 10185 10186 * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file. 10187 101882016-03-02 Richard Biener <rguenther@suse.de> 10189 Uros Bizjak <ubizjak@gmail.com> 10190 10191 PR target/67278 10192 * config/i386/i386.c (type_natural_mode): Handle XFmode vectors. 10193 101942016-03-02 Richard Biener <rguenther@suse.de> 10195 10196 PR middle-end/67278 10197 * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case. 10198 101992016-03-02 Marek Polacek <polacek@redhat.com> 10200 10201 PR c/67854 10202 * gimplify.c (gimplify_va_arg_expr): Use expanded location for the 10203 "is promoted to" warning. 10204 102052016-03-01 DJ Delorie <dj@redhat.com> 10206 10207 * config.gcc: Deprecate mep-*. 10208 102092016-03-01 Vladimir Makarov <vmakarov@redhat.com> 10210 10211 PR middle-end/70025 10212 * lra-constraints.c (regno_val_use_in): New. 10213 (match_reload): Use it instead of regno_use_in. 10214 102152016-03-01 Eric Botcazou <ebotcazou@adacore.com> 10216 10217 PR rtl-optimization/70007 10218 * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory 10219 references present in REG_EQUAL notes attached to non-SET patterns. 10220 102212016-03-01 Jeff Law <law@redhat.com> 10222 10223 PR tree-optimization/69196 10224 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): 10225 Appropriately clamp the number of statements to copy when the 10226 thread path does not traverse a loop backedge. 10227 10228 PR tree-optimization/69196 10229 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): 10230 Do count some PHIs in the thread path against the insn count. Decrease 10231 final statement count by one as the control statement in the last 10232 block will get removed. Remove special cased code for handling PHIs 10233 in the last block. 10234 102352016-03-01 Uros Bizjak <ubizjak@gmail.com> 10236 10237 PR target/70027 10238 * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel 10239 asm dialect alternatives to explicit GOTPCREL calls. 10240 102412016-03-01 Eric Botcazou <ebotcazou@adacore.com> 10242 10243 PR ada/70017 10244 * ira.c (do_reload): Issue warning for generic stack checking here... 10245 * reload1.c (reload): ...instead of here and streamline it. 10246 102472016-03-01 Nick Clifton <nickc@redhat.com> 10248 10249 * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file. 10250 102512016-03-01 Richard Biener <rguenther@suse.de> 10252 10253 PR tree-optimization/69983 10254 * tree-chrec.c (eq_evolutions_p): Handle conversions, compare 10255 types and fall back to operand_equal_p. 10256 102572016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 10258 10259 Revert 10260 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 10261 10262 * config/s390/constraints.md ("jm8"): New constraint. 10263 * config/s390/predicates.md ("const_int_8bitset_operand"): New 10264 predicate. 10265 * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge 10266 into ... 10267 ("*setmem_long<setmem_and>"): New pattern. 10268 ("*setmem_long_31z", "*setmem_long_and_31z"): Merge 10269 into ... 10270 ("*setmem_long_31z<setmem_and>"): New pattern. 10271 * config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"): 10272 New substitution rules with the required attributes. 10273 10274 102752016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 10276 10277 Revert 10278 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 10279 10280 * gensupport.c (process_substs_on_one_elem): Split loop to 10281 complete mark_operands_used_in_match_dup on all expressions in the 10282 vector first. 10283 (adjust_operands_numbers): Inline into process_substs_on_one_elem 10284 and remove function. 10285 102862016-03-01 Richard Biener <rguenther@suse.de> 10287 10288 PR middle-end/70022 10289 * fold-const.c (fold_indirect_ref_1): Fix range checking for 10290 vector BIT_FIELD_REF extract. 10291 102922016-03-01 Richard Biener <rguenther@suse.de> 10293 10294 PR tree-optimization/69994 10295 * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case. 10296 102972016-03-01 Ilya Enkovich <enkovich.gnu@gmail.com> 10298 10299 PR tree-optimization/69956 10300 * tree-vect-stmts.c (supportable_widening_operation): Support 10301 multi-step conversion of boolean vectors. 10302 (supportable_narrowing_operation): Likewise. 10303 103042016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 10305 10306 * config/s390/s390.c (s390_decompose_address): Don't accept SImode 10307 anymore. 10308 103092016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 10310 10311 * config/s390/subst.md (DSI_VI): New mode iterator. 10312 ("addr_style_op_subst"): Use DSI_VI instead of DSI. 10313 * config/s390/vector.md ("vec_set<mode>"): Move expander before 10314 the insn definition. 10315 ("*vec_set<mode>"): Change predicate and add alternative to 10316 support only either register or const_int operands as element 10317 selector. 10318 ("*vec_set<mode>_plus"): New pattern to support reg + const_int 10319 operands. 10320 ("vec_extract<mode>"): New expander. 10321 ("*vec_extract<mode>"): New insn definition supporting reg and 10322 const_int element selectors. 10323 ("*vec_extract<mode>_plus"): New insn definition supporting 10324 reg+const_int element selectors. 10325 ("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the 10326 following expander+insn definition. 10327 ("<vec_shifts_name><mode>3"): New expander. 10328 ("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition. 10329 103302016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 10331 10332 * config/s390/s390.md ("*tabort_1"): Change predicate to 10333 nonmemory_operand. Add a second alternative to cover 10334 register as well as const int operands. 10335 ("*tabort_1_plus"): New pattern definition. 10336 103372016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 10338 10339 * config/s390/s390.md ("*ashrdi3_cc_31") 10340 ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and") 10341 ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"): 10342 Merge insn definitions into ... 10343 ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"): 10344 New pattern definition. 10345 ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", ) 10346 ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and") 10347 ("*ashr<mode>3_and"): Merge insn definitions into ... 10348 ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"): 10349 New pattern definition. 10350 * config/s390/subst.md ("addr_style_op_cc_subst") 10351 ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New 10352 substitutions patterns plus attributes. 10353 Add ashiftrt to SUBST iterator. 10354 103552016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 10356 10357 * config/s390/s390.md ("<shift><mode>3"): Change predicate of 10358 op2 to nonmemory_operand. 10359 ("*<shift>di3_31", "*<shift>di3_31_and"): 10360 Merge into single pattern definition ... 10361 ("*<shift>di3_31<addr_style_op><masked_op>"): New pattern. 10362 ("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single 10363 pattern definition ... 10364 ("*<shift><mode>3<addr_style_op><masked_op>"): New pattern. 10365 * config/s390/subst.md: Add ashift and lshiftrt to SUBST 10366 iterator. 10367 103682016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 10369 10370 * config/s390/predicates.md (const_int_6bitset_operand): New 10371 predicate. 10372 * config/s390/s390.md: Include subst.md. 10373 ("rotl<mode>3"): New expander. 10374 ("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into 10375 ... 10376 ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition. 10377 * config/s390/subst.md: New file. 10378 103792016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 10380 10381 * config/s390/s390.md ("op_type", "atype", "length" attributes): 10382 Remove RRR type. It doesn't really exist. 10383 ("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode 10384 attributes. 10385 ("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes. 10386 ("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3") 10387 ("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3") 10388 ("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3") 10389 ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2") 10390 ("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override 10391 `enabled' attribute. 10392 103932016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 10394 10395 * gensupport.c (process_substs_on_one_elem): Split loop to 10396 complete mark_operands_used_in_match_dup on all expressions in the 10397 vector first. 10398 (adjust_operands_numbers): Inline into process_substs_on_one_elem 10399 and remove function. 10400 104012016-02-29 Eric Botcazou <ebotcazou@adacore.com> 10402 10403 PR target/69706 10404 * config/sparc/sparc.c (NWORDS_UP): Rename to... 10405 (CEIL_NWORDS): ...this. Use CEIL macro. 10406 (compute_fp_layout): Adjust to above renaming. 10407 (function_arg_union_value): Likewise. 10408 (sparc_arg_partial_bytes): Likewise. 10409 (sparc_function_arg_advance): Likewise. 10410 104112016-02-29 Jeff Law <law@redhat.com> 10412 10413 PR tree-optimization/70005 10414 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case 10415 where an object with a boolean range is compared against a value 10416 outside [0..1]. 10417 10418 PR tree-optimization/69999 10419 * gimple-ssa-split-paths.c (split_paths): When duplicating a block 10420 with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule 10421 loop cleanups. 10422 104232016-02-29 Richard Biener <rguenther@suse.de> 10424 10425 PR tree-optimization/69994 10426 * tree-ssa-reassoc.c (gimple_nop_conversion_p): New function. 10427 (get_unary_op): Look through nop conversions. 10428 (ops_equal_values_p): New function, look for equality diregarding 10429 nop conversions. 10430 (eliminate_plus_minus_pair): Use ops_equal_values_p 10431 (repropagate_negates): Do not use get_unary_op here. 10432 104332016-02-29 Martin Liska <mliska@suse.cz> 10434 10435 * system.h: Poison ENABLE_CHECKING macro. 10436 104372016-02-29 Martin Liska <mliska@suse.cz> 10438 10439 * hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS 10440 is presented in dump flags. 10441 * hsa-regalloc.c (linear_scan_regalloc): Likewise. 10442 (hsa_regalloc): Likewise. 10443 104442016-02-19 Richard Biener <rguenther@suse.de> 10445 10446 PR tree-optimization/69980 10447 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update 10448 permutation of those we need to keep. 10449 104502016-02-29 Eric Botcazou <ebotcazou@adacore.com> 10451 10452 PR target/69706 10453 * config/sparc/sparc.c (ROUND_ADVANCE): Rename to... 10454 (NWORDS_UP): ...this 10455 (init_cumulative_args): Minor tweaks. 10456 (sparc_promote_function_mode): Likewise. 10457 (scan_record_type): Delete. 10458 (traverse_record_type): New function template. 10459 (classify_data_t): New structure type. 10460 (classify_registers): New inline function. 10461 (function_arg_slotno): In 64-bit mode, bail out early if FP slots are 10462 exhausted. Instantiate traverse_record_type on classify_registers and 10463 deal with the case of a structure passed in slot #15 with no FP field 10464 in the first word. 10465 (assign_data_t): New structure type. 10466 (compute_int_layout): New static function. 10467 (compute_fp_layout): Likewise. 10468 (count_registers): New inline function. 10469 (assign_int_registers): New static function. 10470 (assign_fp_registers): Likewise. 10471 (assign_registers): New inline function. 10472 (function_arg_record_value_1): Delete. 10473 (function_arg_record_value_2): Likewise. 10474 (function_arg_record_value_3): Likewise. 10475 (function_arg_record_value): Adjust to above changes. Instantiate 10476 traverse_record_type on count_registers to first count the number of 10477 registers to be used and then on assign_registers to assign them. 10478 (function_arg_union_value): Adjust to above renaming. 10479 (sparc_function_arg_1); Minor tweaks. Remove commented out code. 10480 (sparc_arg_partial_bytes): Adjust to above renaming. Deal with the 10481 case of a structure passed in slot #15 10482 (sparc_function_arg_advance): Likewise. 10483 (function_arg_padding): Minor tweak. 10484 104852016-02-29 Richard Biener <rguenther@suse.de> 10486 10487 PR tree-optimization/69720 10488 * tree-vect-loop.c (get_initial_def_for_reduction): Avoid 10489 the adjustment_def path for possibly vectorized defs. 10490 (vect_create_epilog_for_reduction): Handle vectorized initial 10491 defs properly. 10492 104932016-02-28 Eric Botcazou <ebotcazou@adacore.com> 10494 10495 * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define. 10496 104972016-02-27 Jeff Law <law@redhat.com> 10498 10499 Revert 10500 2016-02-26 Richard Biener <rguenther@suse.de> 10501 Jeff Law <law@redhat.com> 10502 10503 PR tree-optimization/69740 10504 * cfghooks.c (remove_edge): Request loop fixups if we delete 10505 an edge that might turn an irreducible loop into a natural 10506 loop. 10507 105082016-02-27 Jakub Jelinek <jakub@redhat.com> 10509 10510 PR rtl-optimization/69896 10511 * tree-vect-generic.c (get_compute_type): Avoid single element 10512 vector types. 10513 105142016-02-26 Evandro Menezes <e.menezes@samsung.com> 10515 10516 Rename the AArch64 tuning option and related functions to enable the 10517 Newton series for the reciprocal square root to reflect its 10518 approximative characteristic. 10519 10520 * config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename 10521 function to "aarch64_emit_approx_rsqrt". 10522 * config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to 10523 AARCH64_EXTRA_TUNE_APPROX_RSQRT. 10524 * config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name. 10525 (xgene1_tunings): Likewise. 10526 (use_rsqrt_p): Likewise. 10527 (aarch64_emit_swrsqrt): Use new function name. 10528 * config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise. 10529 * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the 10530 text explaining this option. 10531 * doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise. 10532 105332016-02-26 Jakub Jelinek <jakub@redhat.com> 10534 10535 PR target/69969 10536 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't 10537 complain about -mallow-movmisalign without -mvsx if 10538 TARGET_ALLOW_MOVMISALIGN was not set explicitly. 10539 105402016-02-26 Joel Sherrill <joel@rtems.org> 10541 10542 * config.gcc: Add x86_64-*-rtems*. 10543 * gcc/config/i386/rtems-64.h: New file. 10544 105452016-02-26 Joel Sherrill <joel@rtems.org> 10546 10547 * config.gcc: Add aarch64-*-rtems*. 10548 * gcc/config/aarch64/rtems.h: New file. 10549 105502016-02-26 Segher Boessenkool <segher@kernel.crashing.org> 10551 10552 PR target/69946 10553 * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm 10554 shift amount using %h. Add comment. 10555 105562016-02-26 Richard Biener <rguenther@suse.de> 10557 Jeff Law <law@redhat.com> 10558 10559 PR tree-optimization/69740 10560 * cfghooks.c (remove_edge): Request loop fixups if we delete 10561 an edge that might turn an irreducible loop into a natural 10562 loop. 10563 105642016-02-26 Martin Jambor <mjambor@suse.cz> 10565 10566 PR middle-end/69920 10567 * tree-sra.c (sra_modify_assign): Do not remove loads of 10568 uninitialized aggregates to SSA_NAMEs. 10569 105702016-02-26 Richard Henderson <rth@redhat.com> 10571 10572 PR target/69709 10573 * config/s390/s390.md (risbg and risbgn splitters): Allocate new 10574 pseudo in case the target rtx matches the source of the left 10575 shift. 10576 105772016-02-26 Martin Jambor <mjambor@suse.cz> 10578 10579 PR hsa/69568 10580 * hsa.h (hsa_type_packed_p): Declare. 10581 * hsa.c (hsa_type_packed_p): New function. 10582 * hsa-gen.c (mem_type_for_type): Use unsigned type for packed 10583 loads. 10584 (gen_hsa_insns_for_store): Use hsa_type_packed_p. 10585 * hsa-brig.c (emit_basic_insn): Likewise. 10586 105872016-02-26 Martin Jambor <mjambor@suse.cz> 10588 10589 pr hsa/69674 10590 * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for 10591 pointers. 10592 (gen_hsa_addr): Allow integer constants in TMR_INDEX2. 10593 105942016-02-26 Martin Jambor <mjambor@suse.cz> 10595 10596 * hsa.h (is_a_helper): New overload for hsa_op_immed for 10597 hsa_op_with_type operands. 10598 (hsa_unsigned_type_for_type): Declare. 10599 * hsa.c (hsa_unsigned_type_for_type): New function. 10600 * hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type. 10601 (gen_hsa_insns_for_operation_assignment): Satisfy constrains of 10602 the finalizer. Do not emit extra move. 10603 106042016-02-26 Martin Jambor <mjambor@suse.cz> 10605 10606 * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of 10607 atomic operations in private segment. 10608 106092016-02-26 Martin Jambor <mjambor@suse.cz> 10610 10611 * omp-low.c (grid_find_ungridifiable_statement): Store problematic 10612 statements to wi->info. Also disallow omp simd constructs. 10613 (grid_target_follows_gridifiable_pattern): Use wi.info to dump reason 10614 for not gridifying. Dump special string for omp_for. 10615 106162016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 10617 10618 PR target/69245 10619 * config/aarch64/aarch64.c (aarch64_set_current_function): 10620 Save/restore target globals when switching to 10621 target_option_default_node. 10622 106232016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 10624 10625 PR target/69613 10626 * config/aarch64/aarch64.c (aarch64_shift_truncation_mask): 10627 Return 0 if !SHIFT_COUNT_TRUNCATED. 10628 106292016-02-26 Jakub Jelinek <jakub@redhat.com> 10630 Eric Botcazou <ebotcazou@adacore.com> 10631 10632 PR rtl-optimization/69891 10633 * dse.c (scan_insn): If we can't figure out memset arguments 10634 or they are non-constant, call clear_rhs_from_active_local_stores. 10635 106362016-02-26 Martin Liska <mliska@suse.cz> 10637 10638 * doc/extend.texi: Mention clog10, clog10f an clog10l 10639 in Builtins section. 10640 106412016-02-26 Martin Liska <mliska@suse.cz> 10642 10643 * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with 10644 CHECKING_P. 10645 (resolve_args_picking_1): Likewise. 10646 * dwarf2out.h (struct GTY): Likewise. 10647 106482016-02-26 Martin Liska <mliska@suse.cz> 10649 10650 * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro 10651 with flag_checking. 10652 * hsa-regalloc.c (linear_scan_regalloc): Likewise. 10653 106542016-02-26 Markus Trippelsdorf <markus@trippelsdorf.de> 10655 Martin Liska <mliska@suse.cz> 10656 10657 * doc/install.texi: Mention --enable-valgrind-annotations. 10658 106592016-02-26 Richard Biener <rguenther@suse.de> 10660 10661 PR tree-optimization/69551 10662 * tree-ssa-structalias.c (get_constraint_for_ssa_var): When 10663 looking through aliases adjust DECL_PT_UID to refer to the 10664 ultimate alias target. 10665 106662016-02-25 Martin Liska <mliska@suse.cz> 10667 10668 PR middle-end/69919 10669 * alloc-pool.c (after_memory_report): New variable. 10670 * alloc-pool.h (base_pool_allocator ::release): Do not use 10671 the infrastructure if after_memory_report. 10672 * toplev.c (toplev::main): Mark after memory report. 10673 106742016-02-25 Richard Biener <rguenther@suse.de> 10675 10676 PR tree-optimization/48795 10677 * tree-vrp.c (check_array_ref): Use array_at_struct_end_p. 10678 106792016-02-25 Ilya Verbin <ilya.verbin@intel.com> 10680 10681 PR driver/68463 10682 * config/gnu-user.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o if 10683 offloading is enabled and -fopenacc or -fopenmp is specified. 10684 (CRTOFFLOADEND): Likewise. 10685 (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN. 10686 (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND. 10687 * lto-wrapper.c (offloadbegin, offloadend): Remove static vars. 10688 (offload_objects_file_name): New static var. 10689 (tool_cleanup): Remove offload_objects_file_name file. 10690 (find_offloadbeginend): Replace with ... 10691 (find_crtoffloadtable): ... this. 10692 (run_gcc): Remove offload_argc and offload_argv. 10693 Get offload_objects_file_name from -foffload-objects=... option. 10694 Read names of object files with offload from this file, pass them to 10695 compile_images_for_offload_targets. Don't call find_offloadbeginend and 10696 don't pass offloadbegin and offloadend to the linker. Don't pass 10697 offload non-LTO files to the linker, because now they're not claimed. 10698 106992016-02-25 Jan Hubicka <hubicka@ucw.cz> 10700 10701 PR ipa/69630 10702 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE 10703 on builtin_unreachable. 10704 107052016-02-25 Jakub Jelinek <jakub@redhat.com> 10706 10707 PR rtl-optimization/69896 10708 * regcprop.c: Include cfgrtl.h. 10709 (copyprop_hardreg_forward_1): If noop_p insn uses narrower 10710 than remembered mode, either delete it (if noop_move_p), or 10711 treat like copy_p but not noop_p instruction. 10712 107132016-02-24 Jakub Jelinek <jakub@redhat.com> 10714 10715 PR debug/69705 10716 * dwarf2out.c (gen_variable_die): Work around buggy LTO 10717 - allow NULL decl for Fortran DW_TAG_common_block variables. 10718 107192016-02-24 Jason Merrill <jason@redhat.com> 10720 10721 * common.opt (flifetime-dse): Add -flifetime-dse=1. 10722 107232016-02-24 Richard Biener <rguenther@suse.de> 10724 Jakub Jelinek <jakub@redhat.com> 10725 10726 PR middle-end/69760 10727 * tree-scalar-evolution.c (interpret_rhs_expr): Re-write 10728 conditionally executed ops to well-defined overflow behavior. 10729 107302016-02-24 Jakub Jelinek <jakub@redhat.com> 10731 10732 PR middle-end/69915 10733 * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST 10734 elements. 10735 107362016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 10737 10738 PR rtl-optimization/69886 10739 * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode 10740 argument. Use it when checking validity of set instructions. 10741 (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p. 10742 (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p 10743 callsite. 10744 * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype. 10745 * store-motion.c (find_moveable_store): Update 10746 can_assign_to_reg_without_clobbers_p callsite. 10747 107482016-02-24 Richard Biener <rguenther@suse.de> 10749 10750 PR middle-end/68963 10751 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix 10752 bogus check. 10753 (record_nonwrapping_iv): Do not fall back to the low/high bound 10754 for non-constant IV bases if the stmt is not always executed. 10755 107562016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 10757 10758 * config/arm/arm-cores.def (cortex-a32): New entry. 10759 * config/arm/arm-tables.opt: Regenerate. 10760 * config/arm/arm-tune.md: Regenerate. 10761 * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32. 10762 * config/arm/t-aprofile: Handle mcpu=cortex-a32. 10763 * doc/invoke.texi (ARM Options): Document cortex-a32 as value 10764 for -mcpu and -mtune. 10765 107662016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 10767 10768 PR target/69875 10769 * config/arm/arm.h (TARGET_HAVE_LPAE): Define. 10770 * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value. 10771 * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern. 10772 (atomic_loaddi_1): Delete. 10773 (atomic_loaddi): Rewrite expander using the above changes. 10774 107752016-02-24 Jakub Jelinek <jakub@redhat.com> 10776 10777 PR c/69918 10778 * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from 10779 2 to 3. 10780 107812016-02-24 Jakub Jelinek <jakub@redhat.com> 10782 Richard Biener <rguenth@suse.de> 10783 10784 PR middle-end/69909 10785 * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid 10786 set_mem_attributes if tem is SSA_NAME which got expanded 10787 as a MEM. 10788 107892016-02-24 Richard Biener <rguenther@suse.de> 10790 10791 PR tree-optimization/69907 10792 * tree-vect-stmts.c (vectorizable_load): Check for gaps at the 10793 end of permutations for BB vectorization. 10794 107952016-02-24 Christian Bruel <christian.bruel@st.com> 10796 10797 * config/arm/arm-c.c (arm_option_override): Initialize 10798 target_option_current_node. 10799 * config/arm/arm.c (arm_pragma_target_parse): Replace 10800 build_target_option_node call by target_option_current_node. 10801 Set target_option_current_node. 10802 Fix comments. 10803 108042016-02-23 David Edelsohn <dje.gcc@gmail.com> 10805 10806 PR target/69810 10807 * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from 10808 define_insn_and_split to define_insn. 10809 (zero_extendqi<mode>2_dot2): Same. 10810 (extendqi<mode>2_dot): Same. 10811 (extendqi<mode>2_dot2): Same. 10812 108132016-02-23 Evandro Menezes <e.menezes@samsung.com> 10814 10815 * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores 10816 and add bypass for AES{D,E} and AESMC pairs. 10817 * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E} 10818 and AESMC pairs. 10819 108202016-02-23 Evandro Menezes <e.menezes@samsung.com> 10821 10822 * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton 10823 series for reciprocal square root in Exynos M1. 10824 108252016-02-23 Martin Sebor <msebor@redhat.com> 10826 10827 PR c/69759 10828 * doc/extend.texi (Other Builtins): Document __builtin_alloca and 10829 __builtin_alloca_with_align. 10830 108312016-02-23 Richard Henderson <rth@redhat.com> 10832 10833 * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS. 10834 (ix86_register_pragmas): Remove __seg_tls. 10835 * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove. 10836 * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it. 10837 (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove. 10838 (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove. 10839 (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove. 10840 * doc/extend.texi (__seg_tls): Remove item. 10841 108422016-02-23 Richard Biener <rguenther@suse.de> 10843 10844 * alloc-pool.h (struct allocation_object): Make id member 10845 conditional on CHECKING_P again. 10846 (get_instance): Adjust. 10847 (base_pool_allocator): Likewise. 10848 108492016-02-23 Thomas Schwinge <thomas@codesourcery.com> 10850 10851 * tree-parloops.c (create_parallel_loop, gen_parallel_loop) 10852 (parallelize_loops): In OpenACC kernels mode, set n_threads to 10853 zero. 10854 (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on 10855 flag_openacc. 10856 * tree-ssa-loop.c (gate_oacc_kernels): Likewise. 10857 108582016-02-23 Richard Biener <rguenther@suse.de> 10859 10860 * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t. 10861 * bitmap.h (struct bitmap_usage): Likewise. 10862 (bitmap_move): Declare. 10863 * bitmap.c (register_overhead): Take size_t argument. 10864 (bitmap_move): New function. 10865 * df-problems.c (df_rd_transfer_function): Use bitmap_move 10866 to properly account overhead. 10867 * tree.c (free_node): Use tree_size. 10868 108692016-02-23 Jakub Jelinek <jakub@redhat.com> 10870 10871 PR c++/69902 10872 * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING 10873 when inverting comparison. 10874 10875 PR c/69900 10876 * common.opt (Wunreachable-code): Add Warning flag. 10877 108782016-02-23 Mark Wielaard <mjw@redhat.com> 10879 Jakub Jelinek <jakub@redhat.com> 10880 10881 PR c/69911 10882 * cgraphunit.c (check_global_declaration): Check main_input_filename 10883 and DECL_SOURCE_FILE are not NULL. 10884 108852016-02-23 Martin Jambor <mjambor@suse.cz> 10886 10887 PR tree-optimization/69666 10888 * tree-sra.c (sra_modify_assign): Do not attempt to create 10889 default_def replacements for unscalarizable regions. 10890 108912016-02-20 Mark Wielaard <mjw@redhat.com> 10892 10893 PR c/28901 10894 * cgraphunit.c (check_global_declaration): Check level of 10895 warn_unused_const_variable and main_input_filename. 10896 * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=. 10897 (-Wunused-variable): For C implies -Wunused-const-variable=1. 10898 (-Wunused-const-variable): Explain levels 1 and 2. 10899 109002016-02-22 Jakub Jelinek <jakub@redhat.com> 10901 10902 PR target/69888 10903 * config/i386/i386.c (decide_alg): Ensure we don't recurse with 10904 identical arguments. Formatting and spelling fixes. 10905 10906 PR target/69885 10907 * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must 10908 be specified. 10909 10910 PR target/69894 10911 PR target/69895 10912 * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def 10913 and m68k-devices.def. 10914 * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def. 10915 * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def. 10916 109172016-02-22 Cesar Philippidis <cesar@codesourcery.com> 10918 10919 * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode 10920 and HImode registers. 10921 109222016-02-22 Richard Biener <rguenther@suse.de> 10923 10924 PR tree-optimization/69882 10925 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly 10926 preserve permutations present because of gaps. 10927 (vect_supported_load_permutation_p): Always continue checking 10928 permutations after vect_attempt_slp_rearrange_stmts. 10929 109302016-02-22 Bin Cheng <bin.cheng@arm.com> 10931 10932 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump 10933 min_profitable_estimate, rather than min_profitable_iters. 10934 109352016-02-22 Jakub Jelinek <jakub@redhat.com> 10936 10937 PR target/69885 10938 * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use 10939 SImode for last match_operand. 10940 109412016-02-22 Martin Liska <mliska@suse.cz> 10942 10943 * hsa-gen.c (gen_hsa_clrsb): In case of zero value, 10944 return bitsize - 1 as the return value. 10945 109462016-02-22 Oleg Endo <olegendo@gcc.gnu.org> 10947 10948 PR target/69806 10949 PR target/54089 10950 * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p): 10951 Handle negative shift counts. 10952 * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use 10953 force_reg on the shift constant. 10954 (lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d. 10955 (lshrsi3_d): Handle negative shift counts. 10956 109572016-02-22 Richard Biener <rguenther@suse.de> 10958 Tom de Vries <tom@codesourcery.com> 10959 10960 * graph.c: Include dumpfile.h. 10961 (print_graph_cfg): Split into three overloads. 10962 * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn. 10963 109642016-02-22 Tom de Vries <tom@codesourcery.com> 10965 10966 * gdbhooks.py (class DumpFn): Add and instantiate, adding command 10967 dump-fn. 10968 109692016-02-22 Richard Biener <rguenther@suse.de> 10970 10971 PR ipa/37448 10972 * ipa-inline-transform.c (inline_call): When not updating 10973 overall summaries adjust self size by the growth estimate. 10974 * ipa-inline.c (inline_to_all_callers_1): Add to the callers 10975 hash-set, do not update overall summaries here. Renamed from ... 10976 (inline_to_all_callers): ... this which is now wrapping the 10977 above and performing delayed overall summary update. 10978 (early_inline_small_functions): Delay updating of the overall 10979 summary. 10980 109812016-02-21 Markus Trippelsdorf <markus@trippelsdorf.de> 10982 10983 * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize 10984 variable. 10985 109862016-02-19 Jakub Jelinek <jakub@redhat.com> 10987 10988 PR driver/69805 10989 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use 10990 :%* in %:gt() argument. 10991 (greater_than_spec_func): Adjust for expecting only numbers, 10992 if there are more than two numbers, compare the last two. 10993 109942016-02-19 Jonathan Wakely <jwakely@redhat.com> 10995 10996 * doc/invoke.texi (C++ Dialect Options): Clarify interaction of 10997 -Wnarrowing with -std. 10998 109992016-02-19 Jakub Jelinek <jakub@redhat.com> 11000 11001 PR c++/69851 11002 * expr.c (store_field): Don't use bit-field path if exp is 11003 COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is 11004 different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize 11005 and the assignment can be performed by bitwise copy. Formatting 11006 fix. 11007 11008 PR middle-end/69838 11009 * lra.c (lra_process_new_insns): If non-call exceptions are enabled, 11010 call copy_reg_eh_region_note_forward on before and/or after sequences 11011 and remove note from insn if it no longer can throw. 11012 11013 PR target/69820 11014 * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode 11015 if TARGET_AVX512BW. 11016 110172016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 11018 11019 * config/s390/vector.md: Add missing commutative operand markers 11020 to the patterns which qualify for one. 11021 * config/s390/vx-builtins.md: Likewise. 11022 110232016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 11024 11025 * config/s390/vector.md (VI, VI_QHS): Add single element vector 11026 types to mode iterators. 11027 (vec_double): ... and mode attribute. 11028 * config/s390/vx-builtins.md (non_vec_int): Likewise. 11029 110302016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 11031 11032 * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"): 11033 Change the predicate of op2 from nonimmediate to general and let 11034 reload fix it if necessary. 11035 110362016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 11037 11038 * config/s390/vecintrin.h (vec_sub_u128): Define missing macro. 11039 110402016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 11041 11042 * config/s390/s390.c (s390_expand_vcond): Use the compare operand 11043 mode. 11044 110452016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 11046 11047 * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype. 11048 * config/s390/s390.c (s390_expand_vec_movstr): New function. 11049 * config/s390/s390.md ("movstr<P:mode>"): Call 11050 s390_expand_vec_movstr. 11051 110522016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 11053 11054 * config/s390/s390.md: Add missing output modifier for operand 1 11055 to print it as address properly. 11056 110572016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 11058 11059 * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*. 11060 * config/s390/2964.md: New file. 11061 * config/s390/s390.c (s390_get_sched_attrmask): Use the right set 11062 of insn grouping attributes depending on the CPU level. 11063 (s390_get_unit_mask): New function. 11064 (s390_sched_score): Remove the OOO from the scheduling macros. 11065 Add loop to calculate a score for the instruction mix. 11066 (s390_sched_reorder): Likewise plus improve debug output. 11067 (s390_sched_variable_issue): Rename macros as above. Calculate 11068 the unit distances after actually scheduling an insn. Improve 11069 debug output. 11070 (s390_sched_init): Clear last_scheduled_unit_distance array. 11071 * config/s390/s390.md: Include 2964.md. 11072 110732016-02-18 Jakub Jelinek <jakub@redhat.com> 11074 11075 PR target/69671 11076 * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1, 11077 *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1, 11078 *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1, 11079 *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1, 11080 *avx512f_<code>v8div16qi2_mask_1): New insns. 11081 110822016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com> 11083 11084 PR target/68404 11085 * config/rs6000/predicates.md (fusion_gpr_addis): Revert 11086 2016-02-09 change. 11087 11088 * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove 11089 earlyclobber from target. Use wF constraint for fused memory 11090 address. 11091 (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise. 11092 110932016-02-18 Jakub Jelinek <jakub@redhat.com> 11094 Martin Liska <mliska@suse.cz> 11095 11096 PR sanitizer/69863 11097 * cfgexpand.c (asan_sanitize_stack_p): New function. 11098 (partition_stack_vars): Use the function. 11099 (expand_stack_vars): Likewise. 11100 (defer_stack_allocation): Likewise. 11101 (expand_used_vars): Likewise. 11102 111032016-02-18 Richard Biener <rguenther@suse.de> 11104 11105 PR middle-end/69553 11106 * fold-const.c (operand_equal_p): Properly compare offsets for 11107 IMAGPART_EXPR and ARRAY_REF. 11108 111092016-02-18 Nick Clifton <nickc@redhat.com> 11110 11111 PR target/62254 11112 PR target/69610 11113 * config/arm/arm.c (arm_option_override_internal): Disable 11114 interworking if the target does not support thumb instructions. 11115 (arm_reload_in_hi): Handle the case where a register to register 11116 move needs reloading because there is no simple pattern to handle 11117 it. 11118 (arm_reload_out_hi): Likewise. 11119 111202016-02-18 Richard Biener <rguenther@suse.de> 11121 11122 PR middle-end/69854 11123 * match.pd: Don't use fold_binary or fold_unary for folding 11124 constants. 11125 111262016-02-17 Jakub Jelinek <jakub@redhat.com> 11127 11128 PR c++/69850 11129 * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning 11130 on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND. 11131 * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't 11132 warn on gimple_no_warning_p statements. 11133 111342016-02-17 Jonathan Wakely <jwakely@redhat.com> 11135 11136 * doc/extend.texi (C++ Attributes): Correct description of 11137 warn_unused type attribute. 11138 111392016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 11140 11141 * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output 11142 correct instruction. 11143 111442016-02-17 Richard Biener <rguenther@suse.de> 11145 11146 PR rtl-optimization/69609 11147 * bb-reorder.c (struct bbro_basic_block_data): Add priority member. 11148 (find_traces_1_round): When ending a trace update cached priority 11149 of successors. 11150 (bb_to_key): Use cached priority when available. 11151 (copy_bb): Initialize cached priority. 11152 (reorder_basic_blocks_software_trace_cache): Likewise. 11153 111542016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 11155 11156 PR target/69161 11157 * config/aarch64/predicates.md (aarch64_comparison_operator_mode): 11158 New predicate. 11159 (aarch64_comparison_operator): Break overly long line into two. 11160 (aarch64_comparison_operation): Likewise. 11161 * config/aarch64/aarch64.md (cstorecc4): Use 11162 aarch64_comparison_operator_mode instead of 11163 aarch64_comparison_operator. 11164 (cstore<mode>4): Likewise. 11165 (aarch64_cstore<mode>): Likewise. 11166 (*cstoresi_insn_uxtw): Likewise. 11167 (cstore<mode>_neg): Likewise. 11168 (*cstoresi_neg_uxtw): Likewise. 11169 111702016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 11171 11172 PR target/69161 11173 * config/arm/predicates.md (arm_comparison_operator_mode): 11174 New predicate. 11175 * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode 11176 instead of arm_comparison_operator. 11177 (*mov_negscc): Likewise. 11178 (*mov_notscc): Likewise. 11179 * config/arm/thumb2.md (*thumb2_mov_scc): Likewise. 11180 (*thumb2_mov_negscc): Likewise. 11181 (*thumb2_mov_negscc_strict_it): Likewise. 11182 (*thumb2_mov_notscc): Likewise. 11183 (*thumb2_mov_notscc_strict_it): Likewise. 11184 111852016-02-17 Wilco Dijkstra <wdijkstr@arm.com> 11186 11187 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): 11188 Add missing return. 11189 111902016-02-17 Eric Botcazou <ebotcazou@adacore.com> 11191 11192 * config/visium/visium.c (machine_libfunc_index): New enum. 11193 (machine_libfuncs): New structure. 11194 (visium_libfuncs): New static variable. 11195 (TARGET_INIT_LIBFUNCS): Define to... 11196 (visium_init_libfuncs): ...this. New function. 11197 (expand_block_move_4): Use the appropriate libfunc. 11198 (expand_block_move_2): Likewise. 11199 (expand_block_move_1): Likewise. 11200 (expand_block_set_4): Likewise. 11201 (expand_block_set_2): Likewise. 11202 (expand_block_set_1): Likewise. 11203 (visium_trampoline_init): Likewise. 11204 112052016-02-17 Nick Clifton <nickc@redhat.com> 11206 11207 * config/msp430/msp430.c (msp430_mcu_data): Sync with data from 11208 TI's devices.csv file as of March 2016. 11209 112102016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org> 11211 11212 PR Target/48344 11213 * opts-global.c (handle_common_deferred_options): Introduce and 11214 initialize two global variables to remember command-line options 11215 specifying a stack-limiting register. 11216 * opts.h: Add extern declarations of the two new global variables. 11217 * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx 11218 variable based on the values of the two new global variables. 11219 112202016-02-16 Jakub Jelinek <jakub@redhat.com> 11221 11222 PR c/69835 11223 * common.opt (Wnonnull-compare): New warning. 11224 * doc/invoke.texi (-Wnonnull): Remove text about comparison 11225 of arguments against NULL. 11226 (-Wnonnull-compare): Document. 11227 * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o. 11228 * tree-pass.h (make_pass_warn_nonnull_compare): Declare. 11229 * passes.def (pass_warn_nonnull_compare): Add. 11230 * gimple-ssa-nonnull-compare.c: New file. 11231 112322016-02-16 James Greenhalgh <james.greenhalgh@arm.com> 11233 11234 * config/aarch64/aarch64.c (cortexa57_tunings): Remove 11235 AARCH64_EXTRA_TUNE_RECIP_SQRT. 11236 112372016-02-16 James Greenhalgh <james.greenhalgh@arm.com> 11238 11239 * config/aarch64/aarch64.c (use_rsqrt_p): Always use software 11240 reciprocal sqrt for -mlow-precision-recip-sqrt. 11241 112422016-02-16 James Greenhalgh <james.greenhalgh@arm.com> 11243 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 11244 11245 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor, 11246 always use lane loads to construct non-constant vectors. 11247 112482016-02-16 James Greenhalgh <james.greenhalgh@arm.com> 11249 11250 * config/aarch64/aarch64.md 11251 (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register 11252 constraints for operand 3. 11253 (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise. 11254 112552016-02-16 Jakub Jelinek <jakub@redhat.com> 11256 Richard Biener <rguenther@suse.de> 11257 11258 PR tree-optimization/69820 11259 * tree-vect-patterns.c (type_conversion_p): Return false if 11260 *orig_type is unsigned single precision or boolean. 11261 (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern): 11262 Formatting fix. 11263 112642016-02-16 Jakub Jelinek <jakub@redhat.com> 11265 11266 PR rtl-optimization/69764 11267 PR rtl-optimization/69771 11268 * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT 11269 op1 is valid for GET_MODE_INNER (mode) and force it into a reg. 11270 112712016-02-16 Richard Biener <rguenther@suse.de> 11272 11273 PR tree-optimization/69776 11274 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias 11275 sets from caller. 11276 (indirect_refs_may_alias_p): Likewise. 11277 (refs_may_alias_p_1): Pass alias sets as from ao_ref. 11278 * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set 11279 according to tbaa_p. 11280 * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag. 11281 (optimize_stmt): For redundant store discovery do not allow tbaa. 11282 112832016-02-16 Bernd Schmidt <bschmidt@redhat.com> 11284 11285 PR tree-optimization/69714 11286 * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change. 11287 Return NULL if we have irrelevant high bytes on BIG_ENDIAN. 11288 112892016-02-16 Claudiu Zissulescu <claziss@synopsys.com> 11290 11291 * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes. 11292 * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP) 11293 (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define. 11294 * config/arc/arc.c (arc_init): Check FPU options. 11295 (get_arc_condition_code): Handle new CC_FPU* modes. 11296 (arc_select_cc_mode): Likewise. 11297 (arc_conditional_register_usage): Allow 64 bit datum into even-odd 11298 register pair only. Allow access for ARCv2 accumulator. 11299 (gen_compare_reg): Whenever we have FPU support use FPU compare 11300 instructions. 11301 (arc_reorg): Don't generate brcc insns when FPU compare 11302 instructions are involved. 11303 * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition. 11304 (TARGET_OPTFPE): Add condition when ARC EM can use optimized 11305 floating point emulation. 11306 (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define. 11307 (REVERSE_CONDITION): Add new CC_FPU* modes. 11308 (TARGET_FP_SP_BASE): Define. 11309 (TARGET_FP_DP_BASE): Likewise. 11310 (TARGET_FP_SP_FUSED): Likewise. 11311 (TARGET_FP_DP_FUSED): Likewise. 11312 (TARGET_FP_SP_CONV): Likewise. 11313 (TARGET_FP_DP_CONV): Likewise. 11314 (TARGET_FP_SP_SQRT): Likewise. 11315 (TARGET_FP_DP_SQRT): Likewise. 11316 (TARGET_FP_DP_AX): Likewise. 11317 * config/arc/arc.md (ARCV2_ACC): New constant. 11318 (type): New fpu type attribute. 11319 (SDF): Conditional iterator. 11320 (cstore<mode>, cbranch<mode>): Change expand condition. 11321 (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands, 11322 handles FPU/FPX cases as well. 11323 * config/arc/arc.opt (mfpu): New option. 11324 * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx): 11325 Renamed. 11326 (adddf3, muldf3, subdf3): Removed. 11327 * config/arc/predicates.md (proper_comparison_operator): Recognize 11328 CC_FPU* modes. 11329 * config/arc/fpu.md: New file. 11330 * doc/invoke.texi (ARC Options): Document mfpu option. 11331 113322016-02-16 Richard Biener <rguenther@suse.de> 11333 11334 PR rtl-optimization/69291 11335 * ifcvt.c (noce_try_store_flag_constants): Re-instantiate 11336 noce_operand_ok check. 11337 113382016-02-16 Tom de Vries <tom@codesourcery.com> 11339 11340 PR lto/67709 11341 * omp-low.c (simd_clone_create): Remove call to 11342 symtab->call_cgraph_insertion_hooks. 11343 113442016-02-16 Jakub Jelinek <jakub@redhat.com> 11345 11346 PR tree-optimization/69802 11347 * tree-ssa-reassoc.c (update_range_test): If op is 11348 SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive 11349 op == 1 test of precision 1 integral op, otherwise handle 11350 that case as op itself. Fix up formatting. 11351 (optimize_range_tests_to_bit_test, optimize_range_tests): Fix 11352 up formatting. 11353 113542016-02-16 Richard Biener <rguenther@suse.de> 11355 11356 PR tree-optimization/69586 11357 * tree-vrp.c (register_edge_assert_for_2): Handle all integral 11358 types for conversion sources. 11359 113602016-02-16 Richard Biener <rguenther@suse.de> 11361 11362 PR middle-end/69801 11363 * fold-const.c (operand_equal_p): For COND_EXPR zero operand 11364 mask OEP_ADDRESS_OF. 11365 113662016-02-16 Alan Modra <amodra@gmail.com> 11367 11368 PR target/68973 11369 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter. 11370 (p8_mtvsrd_df, p8_mtvsrd_sf): New. 11371 (p8_mtvsrd_1, p8_mtvsrd_2): Delete. 11372 (p8_mtvsrwz): New. 11373 (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete. 11374 (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF. 11375 (p8_fmrgow_<mode>): Likewise. 11376 (reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above 11377 changes. 11378 (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint. 11379 (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting 11380 to use movdi_internal64. Remove op0_di. 11381 * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode. 11382 113832016-02-15 Evandro Menezes <e.menezes@samsung.com> 11384 11385 Add support for the FCCMP insn types 11386 11387 * config/aarch64/aarch64.md (fccmp): Change insn type. 11388 (fccmpe): Likewise. 11389 * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types. 11390 * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise. 11391 * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise. 11392 * config/arm/xgene1.md (xgene1_fcmp): Likewise. 11393 * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation. 11394 * config/arm/types.md (fccmps): Add new insn type. 11395 (fccmpd): Likewise. 11396 113972016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de> 11398 11399 * alias.c (get_alias_set): Fix a typo in comment. 11400 114012016-02-15 Richard Biener <rguenther@suse.de> 11402 11403 PR tree-optimization/69595 11404 * match.pd: Complete range test simplification to true. 11405 114062016-02-15 Bernd Schmidt <bschmidt@redhat.com> 11407 11408 PR rtl-optimization/69648 11409 * lra-constraints.c (update_ebb_live_info): Don't remove sets of 11410 pic_offset_table_rtx. 11411 11412 PR rtl-optimization/69752 11413 * ira.c (update_equiv_regs): When looking for more than a single SET, 11414 also take other side effects into account. 11415 114162016-02-15 Marcin Kościelnicki <koriakin@0x04.net> 11417 11418 * config/s390/s390.c (s390_function_profiler): Add a new sequence 11419 for z900+ CPUs in 31-bit mode. 11420 114212016-02-15 Marcin Kościelnicki <koriakin@0x04.net> 11422 11423 * common/config/s390/s390-common.c (s390_supports_split_stack): 11424 New function. 11425 (TARGET_SUPPORTS_SPLIT_STACK): New macro. 11426 * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue. 11427 * config/s390/s390.c (struct machine_function): New field 11428 split_stack_varargs_pointer. 11429 (s390_register_info): Mark r12 as clobbered if it'll be used as temp 11430 in s390_emit_prologue. 11431 (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack 11432 vararg pointer. 11433 (morestack_ref): New global. 11434 (SPLIT_STACK_AVAILABLE): New macro. 11435 (s390_expand_split_stack_prologue): New function. 11436 (s390_live_on_entry): New function. 11437 (s390_va_start): Use split-stack vararg pointer if appropriate. 11438 (s390_asm_file_end): Emit the split-stack note sections. 11439 (TARGET_EXTRA_LIVE_ON_ENTRY): New macro. 11440 * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec. 11441 (UNSPECV_SPLIT_STACK_CALL): New unspec. 11442 (UNSPECV_SPLIT_STACK_DATA): New unspec. 11443 (split_stack_prologue): New expand. 11444 (split_stack_space_check): New expand. 11445 (split_stack_data): New insn. 11446 (split_stack_call): New expand. 11447 (split_stack_call_*): New insn. 11448 (split_stack_cond_call): New expand. 11449 (split_stack_cond_call_*): New insn. 11450 114512016-02-15 Richard Biener <rguenther@suse.de> 11452 11453 PR tree-optimization/69783 11454 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): 11455 Add trivially correct cases. 11456 114572016-02-15 Tom de Vries <tom@codesourcery.com> 11458 11459 PR lto/69655 11460 * lto-cgraph.c (input_offload_tables): Add and handle bool parameter 11461 do_force_output. 11462 * lto-streamer.h (input_offload_tables): Add and handle bool parameter. 11463 114642016-02-15 Richard Biener <rguenther@suse.de> 11465 11466 PR tree-optimization/69776 11467 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype. 11468 * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to 11469 indicate whether we can use TBAA to disambiguate against stores. 11470 Use alias-set zero if not. 11471 (visit_reference_op_store): Do not use TBAA when looking up 11472 redundant stores. 11473 * tree-ssa-pre.c (compute_avail): Use TBAA here. 11474 (eliminate_dom_walker::before_dom_children): But not when looking 11475 up redundant stores. 11476 114772016-02-14 John David Anglin <danglin@gcc.gnu.org> 11478 11479 * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New. 11480 114812016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com> 11482 11483 * config/i386/znver1.md 11484 (znver1_pop, znver1_pop_mem, 11485 znver1_load_imov_double_store, 11486 znver1_load_imov_direct_store, 11487 znver1_load_imov_direct_load, 11488 znver1_load_imov_double_load): Add new. 11489 (znver1_insn, znver1_insn_load): Add icmov type. 11490 (znver1_sseavx_fma, 11491 znver1_sseavx_fma_load, 11492 znver1_avx256_fma, 11493 znver1_avx256_fma_load): Fix pipe usage. 11494 114952016-02-14 Alan Modra <amodra@gmail.com> 11496 11497 PR target/68973 11498 * reloads.c (find_reloads_address_1): For pre/post-inc/dec 11499 with an invalid hard reg, reload just the reg not the entire 11500 pre/post-inc/dec address expression. 11501 115022016-02-13 Oleg Endo <olegendo@gcc.gnu.org> 11503 11504 PR target/67260 11505 * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with 11506 fixed R1_REG scratch reg. 11507 (sibcall_value_pcrel_fdpic): Likewise. 11508 115092016-02-13 Oleg Endo <olegendo@gcc.gnu.org> 11510 11511 PR target/67636 11512 PR target/64345 11513 * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern. 11514 115152016-02-12 Walter Lee <walt@tilera.com> 11516 11517 * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD. 11518 * config/tilegx/t-tilegx: Likewise. 11519 115202016-02-12 David Malcolm <dmalcolm@redhat.com> 11521 11522 PR other/69554 11523 * diagnostic-show-locus.c (struct line_span): New struct. 11524 (layout::get_first_line): Delete. 11525 (layout::get_last_line): Delete. 11526 (layout::get_num_line_spans): New member function. 11527 (layout::get_line_span): Likewise. 11528 (layout::print_heading_for_line_span_index_p): Likewise. 11529 (layout::get_expanded_location): Likewise. 11530 (layout::calculate_line_spans): Likewise. 11531 (layout::m_first_line): Delete. 11532 (layout::m_last_line): Delete. 11533 (layout::m_line_spans): New field. 11534 (layout::layout): Update comment. Replace m_first_line and 11535 m_last_line with m_line_spans, replacing their initialization 11536 with a call to calculate_line_spans. 11537 (diagnostic_show_locus): When printing source lines and 11538 annotations, rather than looping over a single span 11539 of lines, instead loop over each line_span within 11540 the layout, with an inner loop over the lines within them. 11541 Call the context's start_span callback when changing line spans. 11542 * diagnostic.c (diagnostic_initialize): Initialize start_span. 11543 (diagnostic_build_prefix): Break out the building of the location 11544 part of the string into... 11545 (diagnostic_get_location_text): ...this new function, rewriting 11546 it from nested ternary expressions to a sequence of "if" 11547 statements. 11548 (default_diagnostic_start_span_fn): New function. 11549 * diagnostic.h (diagnostic_start_span_fn): New typedef. 11550 (diagnostic_context::start_span): New field. 11551 (default_diagnostic_start_span_fn): New prototype. 11552 115532016-02-12 David Malcolm <dmalcolm@redhat.com> 11554 11555 PR driver/69779 11556 * gcc.c (driver::finalize): Fix cleanup of "specs". 11557 115582016-02-12 David Malcolm <dmalcolm@redhat.com> 11559 11560 PR driver/69265 11561 PR driver/69453 11562 * gcc.c (driver::driver): Initialize m_option_suggestions. 11563 (driver::~driver): Clean up m_option_suggestions. 11564 (suggest_option): Convert to... 11565 (driver::suggest_option): ...this, and split out into 11566 driver::build_option_suggestions and find_closest_string. 11567 (driver::build_option_suggestions): New function, from 11568 first half of suggest_option. Special-case 11569 OPT_fsanitize_ and OPT_fsanitize_recover_, making use of 11570 the sanitizer_opts array. For options of enum types, add the 11571 various enum values to the candidate strings. 11572 (driver::handle_unrecognized_options): Remove "const". 11573 * gcc.h (driver::handle_unrecognized_options): Likewise. 11574 (driver::build_option_suggestions): New decl. 11575 (driver::suggest_option): New decl. 11576 (driver::m_option_suggestions): New field. 11577 * opts-common.c (add_misspelling_candidates): New function. 11578 * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s 11579 and make non-static. 11580 * opts.h (sanitizer_opts): New array decl. 11581 (add_misspelling_candidates): New function decl. 11582 * spellcheck.c (find_closest_string): New function. 11583 * spellcheck.h (find_closest_string): New function decl. 11584 115852016-02-12 Jakub Jelinek <jakub@redhat.com> 11586 11587 PR rtl-optimization/69764 11588 PR rtl-optimization/69771 11589 * optabs.c (expand_binop_directly): For shift_optab_p, force 11590 convert_modes with VOIDmode if xop1 has VOIDmode. 11591 115922016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com> 11593 11594 PR target/69729 11595 * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args 11596 to correctly determine instrumentation thunks. 11597 115982016-02-12 Jakub Jelinek <jakub@redhat.com> 11599 11600 PR ipa/69241 11601 * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE 11602 type by reference, force lhs on the call. 11603 11604 PR ipa/68672 11605 * ipa-split.c (split_function): Don't compute/use main_part_return_p. 11606 Compute retval and retbnd early in all cases if split_part_return_p 11607 and return_bb is not EXIT. Remove all clobber stmts and reset 11608 all debug stmts that refer to SSA_NAMEs defined in split part, 11609 except if it is retval, in that case replace the old retval with the 11610 lhs of the call to the split part. 11611 116122016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org> 11613 11614 revert: 11615 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org> 11616 11617 PR middle-end/66726 11618 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt 11619 whose result is used in PHI. 11620 (maybe_optimize_range_tests): Likewise. 11621 (final_range_test_p): Likweise. 11622 116232016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org> 11624 11625 PR middle-end/66726 11626 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt 11627 whose result is used in PHI. 11628 (maybe_optimize_range_tests): Likewise. 11629 (final_range_test_p): Likweise. 11630 116312016-02-12 Jakub Jelinek <jakub@redhat.com> 11632 11633 * cgraph.c: Spelling fixes - behaviour -> behavior and 11634 neighbour -> neighbor. 11635 * target.def: Likewise. 11636 * sel-sched.c: Likewise. 11637 * config/mips/mips.c: Likewise. 11638 * config/arc/arc.md: Likewise. 11639 * config/arm/cortex-a57.md: Likewise. 11640 * config/arm/arm.c: Likewise. 11641 * config/arm/neon.md: Likewise. 11642 * config/arm/arm-c.c: Likewise. 11643 * config/vms/vms-c.c: Likewise. 11644 * config/s390/s390.c: Likewise. 11645 * config/i386/znver1.md: Likewise. 11646 * config/i386/i386.c: Likewise. 11647 * config/ia64/hpux-unix2003.h: Likewise. 11648 * config/msp430/msp430.md: Likewise. 11649 * config/rx/rx.c: Likewise. 11650 * config/rx/rx.md: Likewise. 11651 * config/aarch64/aarch64-simd.md: Likewise. 11652 * config/aarch64/aarch64.c: Likewise. 11653 * config/nvptx/nvptx.c: Likewise. 11654 * config/bfin/bfin.c: Likewise. 11655 * config/cris/cris.opt: Likewise. 11656 * config/rs6000/rs6000.c: Likewise. 11657 * target.h: Likewise. 11658 * spellcheck.c: Likewise. 11659 * ira-build.c: Likewise. 11660 * tree-inline.c: Likewise. 11661 * builtins.c: Likewise. 11662 * lra-constraints.c: Likewise. 11663 * explow.c: Likewise. 11664 * hwint.h: Likewise. 11665 * targhooks.c: Likewise. 11666 * tree-vect-data-refs.c: Likewise. 11667 * expr.c: Likewise. 11668 * doc/tm.texi: Likewise. 11669 * doc/extend.texi: Likewise. 11670 * doc/install.texi: Likewise. 11671 * doc/md.texi: Likewise. 11672 * tree-ssa-tail-merge.c: Likewise. 11673 * sched-int.h: Likewise. 11674 * match.pd: Likewise. 11675 * sched-ebb.c: Likewise. 11676 * target.def (omit_struct_return_reg): Likewise. 11677 * gimple-ssa-isolate-paths.c: Likewise. 11678 (find_implicit_erroneous_behaviour): Renamed to... 11679 (find_implicit_erroneous_behavior): ... this. 11680 (find_explicit_erroneous_behaviour): Renamed to... 11681 (find_explicit_erroneous_behavior): ... this. 11682 (gimple_ssa_isolate_erroneous_paths): Adjust caller. 11683 116842016-02-11 Segher Boessenkool <segher@kernel.crashing.org> 11685 11686 PR rtl-optimization/64682 11687 PR rtl-optimization/69567 11688 PR rtl-optimization/69737 11689 * combine.c (distribute_notes) <REG_DEAD>: If the register is set 11690 in I2 as well, just lose it. 11691 116922016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 11693 11694 * config/aarch64/aarch64.c (aarch64_last_printed_arch_string): 11695 New variable. 11696 (aarch64_last_printed_tune_string): Likewise. 11697 (aarch64_declare_function_name): Only output .arch assembler 11698 directive if it will be different from the previously output 11699 directive. Same for .tune comment but only if -dA is set. 11700 (aarch64_start_file): New function. 11701 (TARGET_ASM_FILE_START): Define. 11702 117032016-02-11 David Malcolm <dmalcolm@redhat.com> 11704 11705 PR plugins/69758 11706 * Makefile.in (PLUGIN_HEADERS): Add params.list. 11707 117082016-02-11 Jakub Jelinek <jakub@redhat.com> 11709 11710 PR target/65313 11711 * tree-vect-slp.c (vect_schedule_slp_instance): Avoid 11712 -Wmaybe-uninitialized warning. 11713 117142016-02-11 Oleg Endo <olegendo@gcc.gnu.org> 11715 11716 PR target/69713 11717 * config/sh/sh.md (casesi_worker_0): Add T_REG use. 11718 117192016-02-11 Richard Biener <rguenther@suse.de> 11720 11721 PR rtl-optimization/69291 11722 * ifcvt.c (noce_try_store_flag_constants): Do not allow 11723 subexpressions affected by changing the result. 11724 117252016-02-10 Vladimir Makarov <vmakarov@redhat.com> 11726 11727 PR target/69148 11728 * lra-constraints.c (curr_insn_transform): Find in/out operands 11729 for secondary memory moves. Update dups. 11730 117312016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com> 11732 11733 PR tree-optimization/69652 11734 * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1 11735 to nested loop, did source re-formatting, skip debug statements, 11736 add check on statement with volatile operand, remove dead scalar 11737 statements. 11738 117392016-02-10 Jakub Jelinek <jakub@redhat.com> 11740 Patrick Palka <ppalka@gcc.gnu.org> 11741 11742 PR ipa/69241 11743 PR c++/69649 11744 * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn 11745 calls if the return type is TREE_ADDRESSABLE. 11746 * cgraphunit.c (cgraph_node::expand_thunk): Likewise. 11747 * ipa-split.c (split_function): Fix doubled "we" in comment. 11748 Use void return type for the split part even if 11749 !split_point->split_part_set_retval. 11750 117512016-02-10 Bin Cheng <bin.cheng@arm.com> 11752 11753 PR tree-optimization/68021 11754 * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if 11755 when computing the value of biv cand by itself. 11756 117572016-02-10 Wilco Dijkstra <wdijkstr@arm.com> 11758 11759 * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion. 11760 (cortexa57_tunings): Likewise. 11761 (cortexa72_tunings): Likewise. 11762 (arch_macro_fusion_pair_p): Add support for AES fusion. 11763 * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry. 11764 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): 11765 Allow virtual registers before reload so early scheduling works. 11766 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use 11767 correct latency and pipeline. 11768 (cortex_a57_crypto_complex): Likewise. 11769 (cortex_a57_crypto_xor): Likewise. 11770 (define_bypass): Add AES bypass. 11771 117722016-02-10 Richard Biener <rguenther@suse.de> 11773 11774 PR tree-optimization/69726 11775 * passes.def: Add DCE pass before late uninit. 11776 * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to 11777 really fixup if-conversions job. 11778 117792016-02-10 Wilco Dijkstra <wdijkstr@arm.com> 11780 11781 * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion. 11782 (arm_cortex_a57_tune): Likewise. 11783 (aarch_macro_fusion_pair_p): Add support for AES fusion. 11784 * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC. 11785 117862016-02-10 Eric Botcazou <ebotcazou@adacore.com> 11787 11788 * timevar.def (TV_PHASE_DBGINFO): Delete. 11789 (TV_PHASE_CHECK_DBGINFO): Likewise. 11790 * varpool.c (varpool_node::assemble_decl): Do not change timevar. 11791 117922016-02-10 Richard Biener <rguenther@suse.de> 11793 11794 PR tree-optimization/69719 11795 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): 11796 Adjust previous fix by ensuring that dr_a1 is left of dr_a2. 11797 117982016-02-09 Andrew Pinski <apinski@cavium.com> 11799 11800 PR tree-opt/69282 11801 * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if 11802 get_vcond_mask_icode returns false. 11803 118042016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com> 11805 11806 PR target/68404 11807 * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing 11808 an ADDIS that adds a pointer to a large constant that sets the 11809 upper16 bits with a load operation. 11810 118112016-02-09 Charles Baylis <charles.baylis@linaro.org> 11812 11813 PR target/68532 11814 * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane 11815 order. 11816 * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big 11817 endian. 11818 (vzipq_s16): Likewise. 11819 (vzipq_s32): Likewise. 11820 (vzipq_f32): Likewise. 11821 (vzipq_u8): Likewise. 11822 (vzipq_u16): Likewise. 11823 (vzipq_u32): Likewise. 11824 (vzipq_p8): Likewise. 11825 (vzipq_p16): Likewise. 11826 118272016-02-09 Charles Baylis <charles.baylis@linaro.org> 11828 11829 PR target/68532 11830 * config/arm/arm.c (neon_endian_lane_map): New function. 11831 (neon_vector_pair_endian_lane_map): New function. 11832 (arm_evpc_neon_vuzp): Allow for big endian lane order. 11833 * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big 11834 endian. 11835 (vuzpq_s16): Likewise. 11836 (vuzpq_s32): Likewise. 11837 (vuzpq_f32): Likewise. 11838 (vuzpq_u8): Likewise. 11839 (vuzpq_u16): Likewise. 11840 (vuzpq_u32): Likewise. 11841 (vuzpq_p8): Likewise. 11842 (vuzpq_p16): Likewise. 11843 118442016-02-11 Alexandre Oliva <aoliva@redhat.com> 11845 11846 PR target/69634 11847 * regstat.c (regstat_bb_compute_calls_crossed): Disregard 11848 debug insns. 11849 118502016-02-09 Uros Bizjak <ubizjak@gmail.com> 11851 11852 * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to 11853 truncate const_int operand 1 to QImode. 11854 118552016-02-09 Eric Botcazou <ebotcazou@adacore.com> 11856 11857 * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument 11858 corresponding to an abnormal edge. 11859 118602016-02-09 Tom de Vries <tom@codesourcery.com> 11861 11862 PR tree-optimization/69599 11863 * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New 11864 function. 11865 (find_func_aliases_for_builtin_call, find_func_clobbers) 11866 (ipa_pta_execute): Handle case that foo and foo._0 are not in same lto 11867 partition. 11868 118692016-02-09 Richard Biener <rguenther@suse.de> 11870 11871 PR tree-optimization/69715 11872 * tree-ssa.c (execute_update_addresses_taken): Mark non-decl 11873 LHS on calls as non-rewritable. 11874 118752016-02-09 Tom de Vries <tom@codesourcery.com> 11876 11877 PR lto/69707 11878 * lto-wrapper.c (append_diag_options): New function. 11879 (compile_offload_image): Call append_diag_options. 11880 118812016-02-08 Sandra Loosemore <sandra@codesourcery.com> 11882 11883 PR other/69722 11884 * doc/extend.texi (Flag Output Operands): Correct sectioning. 11885 Minor copy-edit to fix verb tenses. 11886 118872016-02-08 Jakub Jelinek <jakub@redhat.com> 11888 11889 PR tree-optimization/69209 11890 * ipa-split.c (split_function): If split part is not 11891 returning retval, retval has gimple type but is not 11892 gimple value, force it into a SSA_NAME first. 11893 118942016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com> 11895 11896 * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove 11897 outdated section. 11898 118992016-02-08 Jason Merrill <jason@redhat.com> 11900 11901 PR c++/69631 11902 * convert.c (convert_to_integer_1): Check dofold on truncation 11903 distribution. 11904 (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold) 11905 (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold): 11906 Rename from *_nofold. 11907 * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold) 11908 (convert_to_real_nofold, convert_to_complex_nofold): New inlines. 11909 119102016-02-08 Bernd Schmidt <bschmidt@redhat.com> 11911 11912 PR target/60410 11913 * tree.c (build_common_tree_nodes): Remove short_double argument. 11914 All callers changed. 11915 * tree.h (build_common_tree_nodes): Adjust declaration. 11916 * doc/invoke.texi (-fshort-double): Remove documentation. 11917 * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 11918 MULTILIB_EXCEPTIONS): Remove -fshort-double variant. 11919 * lto-wrapper.c (merge_and_complain, append_compiler_options) 11920 (append_linker_options): Don't handle OPT_fshort_double. 11921 11922 PR rtl-optimization/68730 11923 * lra-remat.c (insn_to_cand_activation): New static variable. 11924 (lra_remat): Allocate and free it. 11925 (create_cand): New arg activation. Initialize a field in 11926 insn_to_cand_activation if it is nonnull. 11927 (create_cands): Pass the activation insn to create_cand when making 11928 a candidate involving an output reload. Reorganize code a little. 11929 (do_remat): Keep track of active status of candidates in a separate 11930 bitmap. 11931 119322016-02-08 Richard Biener <rguenther@suse.de> 11933 11934 PR tree-optimization/69719 11935 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): 11936 Properly use absolute of the difference of the two offsets to 11937 compare or adjust the segment length. 11938 119392016-02-08 Richard Biener <rguenther@suse.de> 11940 Jeff Law <law@redhat.com> 11941 11942 PR target/68273 11943 * tree-ssanames.c (make_ssa_name_fn): Always use unqualified 11944 types for anonymous SSA names. 11945 119462016-02-08 Richard Biener <rguenther@suse.de> 11947 11948 PR rtl-optimization/69274 11949 * ira.c (ira_setup_alts): Do not change recog_data.operand order. 11950 119512016-02-08 Jeff Law <law@redhat.com> 11952 11953 PR tree-optimization/65917 11954 * tree-ssa-dom.c (record_temporary_equivalences): Record both 11955 equivalences from if (x == y) style conditionals. 11956 (loop_depth_of_name): Remove. 11957 (record_equality): Remove loop depth check. 11958 * tree-ssa-scopedtables.h (const_and_copies): Refine comments. 11959 (const_and_copies::record_const_or_copy_raw): New member function. 11960 * tree-ssa-scopedtables.c 11961 (const_and_copies::record_const_or_copy_raw): New, factored out of 11962 (const_and_copies::record_const_or_copy): Call new member function. 11963 119642016-02-05 Jeff Law <law@redhat.com> 11965 11966 PR tree-optimization/68541 11967 * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h. 11968 (count_stmts_in_block): New function. 11969 (poor_ifcvt_candidate_code): Likewise. 11970 (is_feasible_trace): Add some heuristics to determine when path 11971 splitting is profitable. 11972 (find_block_to_duplicate_for_splitting_paths): Make sure the graph 11973 is a diamond with a single exit. 11974 119752016-02-05 Martin Sebor <msebor@redhat.com> 11976 11977 PR c++/69662 11978 * doc/invoke.texi: Update -Wplacement-new to take an optional 11979 argument. 11980 119812016-02-06 Richard Henderson <rth@redhat.com> 11982 11983 PR c/69643 11984 * tree.c (tree_nop_conversion_p): Do not strip casts into or 11985 out of non-standard address spaces. 11986 119872016-02-05 Jakub Jelinek <jakub@redhat.com> 11988 11989 PR rtl-optimization/69691 11990 * lra-eliminations.c (move_plus_up): Don't add the addend twice. 11991 119922016-02-05 Pat Haugen <pthaugen@us.ibm.com> 11993 11994 * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type. 11995 * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise. 11996 (*ieee128_mfvsrd_64bit): Likewise. 11997 (*ieee128_mfvsrd_32bit): Likewise. 11998 119992016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com> 12000 12001 PR target/69369 12002 Revert r232560: 12003 2016-01-19 Jan Hubicka <hubicka@ucw.cz> 12004 12005 * cgraphunit.c (cgraph_node::reset): Clear thunk info and 12006 instrumented_version. 12007 120082016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com> 12009 12010 * doc/invoke.texi (Optimize Options): In table of --param options 12011 rename second occurrence of tracer-min-branch-ratio to 12012 tracer-min-branch-probability, rename 12013 tracer-min-branch-ratio-feedback to 12014 tracer-min-branch-probability-feedback and clarify description, 12015 rename sched-spec-state-edge-prob-cutoff to 12016 sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename 12017 to selsched-insns-to-rename, rename lto-minpartition to 12018 lto-min-partition, delete reorder-blocks-duplicate and 12019 reorder-blocks-duplicate-feedback. 12020 120212016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 12022 12023 * config/s390/s390.c (s390_register_info_set_ranges): Remove 12024 superfluous loops. 12025 120262016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com> 12027 12028 * doc/extend.texi: S/390: Correct some typos. 12029 120302016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 12031 12032 * config/s390/s390.c (s390_emit_call): Add missing 64 bit check. 12033 120342016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 12035 12036 PR target/69625 12037 * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines. 12038 (s390_register_info_gprtofpr): Use new macros above. 12039 (s390_register_info_stdarg_fpr): Adjust max_fpr to better match 12040 its name. 12041 (s390_register_info_stdarg_gpr): Adjust max_gpr to better match 12042 its name. Adjust restore and save gpr ranges. 12043 (s390_register_info_set_ranges): New function. 12044 (s390_register_info): Use new macros above. Call 12045 s390_register_info_set_ranges. 12046 (s390_optimize_register_info): Likewise. 12047 (s390_hard_regno_rename_ok): Use new macros. 12048 (s390_hard_regno_scratch_ok): Likewise. 12049 (s390_emit_epilogue): Likewise. 12050 (s390_can_use_return_insn): Likewise. 12051 (s390_optimize_prologue): Likewise. 12052 * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants. 12053 120542016-02-05 Jakub Jelinek <jakub@redhat.com> 12055 12056 PR bootstrap/69677 12057 * config/i386/i386.c (convert_scalars_to_vector): Readd stack 12058 alignment fixes. 12059 (ix86_option_override_internal): Disable TARGET_STV even for 12060 -m{incoming,preferred}-stack-boundary=3. 12061 120622016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> 12063 12064 * config.gcc: Mark deprecated rtems targets as obsolete. 12065 120662016-02-04 Segher Boessenkool <segher@kernel.crashing.org> 12067 12068 PR rtl-optimization/64682 12069 PR rtl-optimization/69567 12070 * combine.c (distribute_notes) <REG_DEAD>: Place the death note 12071 before I2 only if the register is both used and set in I2. 12072 120732016-02-04 DJ Delorie <dj@redhat.com> 12074 12075 * config/msp430/msp430.c (msp430_start_function): Add function type. 12076 120772016-02-04 Jakub Jelinek <jakub@redhat.com> 12078 12079 PR fortran/69368 12080 * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code. 12081 120822016-02-04 Uros Bizjak <ubizjak@gmail.com> 12083 12084 PR rtl-optimization/69577 12085 Revert: 12086 2015-10-29 Richard Henderson <rth@redhat.com> 12087 12088 PR target/68124 12089 PR rtl-opt/67609 12090 * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten 12091 sse check to the exact conditions of PR 67609. 12092 120932016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com> 12094 12095 PR target/69667 12096 * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint 12097 instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are 12098 not allowed into the traditional Altivec registers. 12099 (movtd_64bit_nodm): Likewise. 12100 (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise. 12101 121022016-02-04 David Malcolm <dmalcolm@redhat.com> 12103 12104 * config/aarch64/cortex-a57-fma-steering.c 12105 (aarch64_register_fma_steering): Remove "static" from arguments 12106 to register_pass. 12107 121082016-02-04 Wilco Dijkstra <wdijkstr@arm.com> 12109 12110 PR target/69619 12111 * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1 12112 twice when complex. 12113 121142016-02-04 Mike Frysinger <vapier@gentoo.org> 12115 12116 * doc/invoke.texi: Delete -mno-fma4. 12117 121182016-02-04 Richard Sandiford <richard.sandiford@arm.com> 12119 12120 PR rtl-optimization/69577 12121 * reginfo.c (record_subregs_of_mode): Add a partial_def parameter. 12122 (find_subregs_of_mode): Update accordingly. Iterate over partial 12123 definitions. 12124 121252016-02-04 Alan Lawrence <alan.lawrence@arm.com> 12126 12127 * config/arm/arm-protos.h (neon_reinterpret): Remove. 12128 * config/arm/arm.c (neon_reinterpret): Remove. 12129 * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi, 12130 vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi, 12131 vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di, 12132 vreinterpretti): Remove. 12133 * config/arm/neon.md (neon_vreinterpretv8qi<mode>, 12134 neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>, 12135 neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>, 12136 neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>, 12137 neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>, 12138 neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove. 12139 * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32, 12140 vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64, 12141 vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32, 12142 vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32, 12143 vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64, 12144 vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8, 12145 vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8, 12146 vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8, 12147 vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64, 12148 vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16, 12149 vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16, 12150 vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16, 12151 vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64, 12152 vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32, 12153 vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32, 12154 vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32, 12155 vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8, 12156 vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8, 12157 vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8, 12158 vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64, 12159 vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16, 12160 vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16, 12161 vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16, 12162 vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64, 12163 vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32, 12164 vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32, 12165 vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32, 12166 vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64, 12167 vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8, 12168 vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8, 12169 vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64, 12170 vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8, 12171 vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16, 12172 vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16, 12173 vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64, 12174 vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16, 12175 vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32, 12176 vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32, 12177 vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64, 12178 vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32, 12179 vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8, 12180 vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64, 12181 vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8, 12182 vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8, 12183 vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32, 12184 vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64, 12185 vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16, 12186 vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16, 12187 vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32, 12188 vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64, 12189 vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16, 12190 vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16, 12191 vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16, 12192 vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64, 12193 vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16, 12194 vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16, 12195 vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16, 12196 vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64, 12197 vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16, 12198 vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16, 12199 vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16, 12200 vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64, 12201 vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16, 12202 vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16, 12203 vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16, 12204 vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128, 12205 vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16, 12206 vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16, 12207 vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16, 12208 vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128, 12209 vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16, 12210 vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16, 12211 vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16, 12212 vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128, 12213 vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16, 12214 vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16, 12215 vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16, 12216 vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128, 12217 vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8, 12218 vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16, 12219 vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16, 12220 vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64, 12221 vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64, 12222 vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8, 12223 vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8, 12224 vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64, 12225 vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64, 12226 vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32, 12227 vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8, 12228 vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64, 12229 vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64, 12230 vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32, 12231 vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8, 12232 vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64, 12233 vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64, 12234 vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32, 12235 vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts. 12236 122372016-02-04 Martin Liska <mliska@suse.cz> 12238 12239 PR sanitizer/69276 12240 * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls 12241 that are gimple_store_p. 12242 (maybe_instrument_call): Likewise. 12243 122442016-02-04 Bin Cheng <bin.cheng@arm.com> 12245 12246 * config/aarch64/aarch64.c (aarch64_legitimize_address): Force 12247 register scaling out of memory reference and comment why. 12248 122492016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 12250 12251 PR target/65932 12252 PR target/67714 12253 * cse.c (cse_insn): Pass NULL to fold_rtx when initially 12254 folding the source of a SET. 12255 122562016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 12257 12258 PR target/65932 12259 PR target/67714 12260 * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract 12261 the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx. 12262 122632016-02-04 Jim Wilson <jim.wilson@linaro.org> 12264 12265 PR target/65932 12266 PR target/67714 12267 * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and 12268 HImode. 12269 122702016-02-04 Christian Bruel <christian.bruel@st.com> 12271 12272 * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo. 12273 * config/arm/arm.c (arm_set_current_function): Likewise. 12274 122752016-02-04 Jakub Jelinek <jakub@redhat.com> 12276 Ilya Enkovich <enkovich.gnu@gmail.com> 12277 H.J. Lu <hongjiu.lu@intel.com> 12278 12279 PR target/69454 12280 * config/i386/i386.c (convert_scalars_to_vector): Remove 12281 stack alignment fixes. 12282 (ix86_option_override_internal): Disable TARGET_STV if stack 12283 might not be aligned enough. 12284 (ix86_minimum_alignment): Assert that TARGET_STV is false. 12285 122862016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com> 12287 12288 * gcc/config/i386/x86-tune.def: Disable default prefetching 12289 for -march=znver1. 12290 122912016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com> 12292 Vladimir Makarov <vmakarov@redhat.com> 12293 12294 PR target/69461 12295 * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko 12296 in validating fused toc addresses. 12297 122982016-02-03 Jakub Jelinek <jakub@redhat.com> 12299 12300 PR c/69627 12301 * diagnostic-show-locus.c (layout::get_state_at_point): Don't read 12302 range->m_caret fields if range->m_show_caret_p is false. 12303 12304 PR target/69644 12305 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): 12306 Force oldval into register if it does not satisfy reg_or_short_operand 12307 predicate. Fix up formatting. 12308 123092016-02-03 Vladimir Makarov <vmakarov@redhat.com> 12310 Alexandre Oliva <aoliva@redhat.com> 12311 12312 PR target/69461 12313 * lra-constraints.c (simplify_operand_subreg): Check additionally 12314 address validity after potential reloading. 12315 (process_address_1): Check insns validity. In case of failure do 12316 nothing. 12317 123182016-02-03 Kirill Yukhin <kirill.yukhin@intel.com> 12319 12320 PR target/69118 12321 * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"): 12322 Fix target. 12323 123242016-02-02 Jakub Jelinek <jakub@redhat.com> 12325 12326 * wide-int.cc (canonize_uhwi): New function. 12327 (wi::divmod_internal): Use it. 12328 123292016-02-02 James Norris <jnorris@codesourcery.com 12330 12331 * gimplify.c (omp_notice_variable): Add usage check. 12332 123332016-02-02 Alexander Monakov <amonakov@ispras.ru> 12334 12335 * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU 12336 like LE, GE, LT, GT when emitting relational operator. 12337 123382016-02-02 Wilco Dijkstra <wdijkstr@arm.com> 12339 12340 * ira-costs.c (find_costs_and_classes): Add extra argument. 12341 * target.def (ira_change_pseudo_allocno_class): Add parameter. 12342 * targhooks.h (ira_change_pseudo_allocno_class): Likewise. 12343 * targhooks.c (ira_change_pseudo_allocno_class): Likewise. 12344 * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class) 12345 Add best_class parameter, and return it if not ALL_REGS. 12346 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): 12347 Add parameter. 12348 * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): 12349 Update target hook. 12350 123512016-02-02 Wilco Dijkstra <wdijkstr@arm.com> 12352 12353 * config/aarch64/aarch64.c 12354 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define. 12355 (aarch64_ira_change_pseudo_allocno_class): New function. 12356 123572016-02-02 Uros Bizjak <ubizjak@gmail.com> 12358 12359 PR target/67032 12360 * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves. 12361 123622016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 12363 12364 * config/avr/avr.c (avr_option_override): Set 12365 PARAM_ALLOW_STORE_DATA_RACES to 1. 12366 123672016-02-02 Richard Biener <rguenther@suse.de> 12368 12369 PR tree-optimization/69595 12370 * match.pd: Add range test simplifications to true/false. 12371 123722016-02-02 Thomas Schwinge <thomas@codesourcery.com> 12373 12374 * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove. 12375 * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START 12376 instead. 12377 123782016-02-02 Richard Biener <rguenther@suse.de> 12379 12380 PR tree-optimization/69606 12381 * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive 12382 info on the result before moving a stmt. 12383 123842016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com> 12385 12386 PR middle-end/68542 12387 * config/i386/i386.c (ix86_expand_branch): Add support for conditional 12388 branch with vector comparison. 12389 * config/i386/sse.md (VI48_AVX): New mode iterator. 12390 (define_expand "cbranch<mode>4): Add support for conditional branch 12391 with vector comparison. 12392 * tree-vect-loop.c (optimize_mask_stores): New function. 12393 * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize 12394 has_mask_store field of vect_info. 12395 * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for 12396 vectorized loops having masked stores after vec_info destroy. 12397 * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and 12398 correspondent macros. 12399 (optimize_mask_stores): Add prototype. 12400 124012016-02-02 Alan Modra <amodra@gmail.com> 12402 12403 PR target/69548 12404 * config/rs6000/predicates.md (quad_int_reg_operand): Don't 12405 allow subregs. 12406 124072016-02-02 Alan Modra <amodra@gmail.com> 12408 12409 PR target/68662 12410 * config/rs6000/rs6000.c (need_toc_init): New var, set it 12411 whenever toc_label_name used. 12412 (rs6000_file_start): Don't set up toc section here, 12413 (rs6000_output_function_epilogue): do so here instead, 12414 (rs6000_xcoff_file_start): and here. 12415 * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init. 12416 (load_toc_aix_di): Likewise. 12417 124182016-02-01 Jakub Jelinek <jakub@redhat.com> 12419 12420 PR rtl-optimization/69592 12421 * rtlanal.c (nonzero_bits_binary_arith_p): New inline function. 12422 (cached_nonzero_bits): Use it instead of ARITHMETIC_P. 12423 (num_sign_bit_copies_binary_arith_p): New inline function. 12424 (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P. 12425 124262016-02-01 Jeff Law <law@redhat.com> 12427 12428 PR tree-optimization/69580 12429 * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param. 12430 * tree-ssa-threadbackward.c 12431 (fsm_find_control_statement_thread_paths): Do not try to walk 12432 through large PHI nodes. 12433 124342016-02-01 Jakub Jelinek <jakub@redhat.com> 12435 12436 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false 12437 when count is incremented above limit, don't analyze further 12438 insns afterwards. 12439 12440 * omp-low.c (oacc_parse_default_dims): Avoid 12441 -Wsign-compare warning, make sure value fits into int 12442 rather than just unsigned int. 12443 124442016-02-01 Bin Cheng <bin.cheng@arm.com> 12445 12446 PR tree-optimization/67921 12447 * fold-const.c (split_tree): New parameters. Convert pointer 12448 type variable part to proper type before negating. 12449 (fold_binary_loc): Pass new arguments to split_tree. 12450 124512016-02-01 Nathan Sidwell <nathan@codesourcery.com> 12452 12453 * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New. 12454 (nvptx_goacc_validate_dims): Extend to handle global defaults. 12455 * target.def (OACC_VALIDATE_DIMS): Extend documentation. 12456 * doc/tm.texti: Rebuilt. 12457 * doc/invoke.texi (fopenacc-dim): Document. 12458 * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case. 12459 (append_compiler_options): Likewise. 12460 * omp-low.c (oacc_default_dims, oacc_min_dims): New. 12461 (oacc_parse_default_dims): New. 12462 (oacc_validate_dims): Add USED arg. Select non-unity default when 12463 possible. 12464 (oacc_loop_fixed_partitions): Return mask of used partitions. 12465 (oacc_loop_auto_partitions): Emit dump info. 12466 (oacc_loop_partition): Return mask of used partitions. 12467 (execute_oacc_device_lower): Parse default dimension arg. Adjust 12468 loop partitioning and validation calls. 12469 124702016-02-01 Richard Biener <rguenther@suse.de> 12471 12472 PR middle-end/69556 12473 * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use. 12474 124752016-02-01 Richard Biener <rguenther@suse.de> 12476 12477 PR tree-optimization/69574 12478 * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead 12479 of asserting return chrec_dont_know. 12480 124812016-02-01 Martin Liska <mliska@suse.cz> 12482 12483 * mem-stats-traits.h: Add copyright header. 12484 * mem-stats.h: Likewise. 12485 124862016-02-01 Richard Biener <rguenther@suse.de> 12487 12488 PR tree-optimization/69579 12489 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): 12490 Do not propagate through abnormal PHI results. 12491 124922016-02-01 Eric Botcazou <ebotcazou@adacore.com> 12493 12494 * postreload.c (reload_cse_simplify): Remove dead code. 12495 124962016-02-01 Jakub Jelinek <jakub@redhat.com> 12497 12498 PR rtl-optimization/69570 12499 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only 12500 if there is more than one set, not if there is a single set. 12501 125022016-02-01 Richard Henderson <rth@redhat.com> 12503 12504 PR rtl-opt/69535 12505 * combine.c (make_compound_operation): When looking through a 12506 subreg, make sure to re-extend to the width of the outer mode. 12507 125082016-01-30 Jakub Jelinek <jakub@redhat.com> 12509 12510 PR tree-optimization/69546 12511 * wide-int.cc (wi::divmod_internal): For unsigned division 12512 where both operands fit into uhwi, if o1 is 1 and o0 has 12513 msb set, if divident_prec is larger than bits per hwi, 12514 clear another quotient word and return 2 instead of 1. 12515 Similarly for remainder with msb in HWI set, if dividend_prec 12516 is larger than bits per hwi. 12517 125182016-01-29 Martin Jambor <mjambor@suse.cz> 12519 12520 * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK. 12521 Use short lowercase names. 12522 (get_memory_order): Mask with MEMMODEL_BASE_MASK. Support 12523 MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with 12524 acq_rel one. Protect warning agains segfaults if 12525 get_memory_order_name returns NULL. 12526 (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST 12527 with release semantics. Do not warn if get_memory_order already did. 12528 (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire 12529 semantics. Fix check for relaxed or acquire semantics. Do not warn 12530 if get_memory_order already did. 12531 125322016-01-29 Sebastian Pop <s.pop@samsung.com> 12533 12534 * doc/install.texi: Document that isl-0.16 is supported. 12535 125362016-01-29 Vladimir Makarov <vmakarov@redhat.com> 12537 12538 PR target/69299 12539 * config/i386/constraints.md (Bm): Describe as special memory 12540 constraint. 12541 * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it. 12542 * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT. 12543 * genpreds.c (struct constraint_data): Add is_special_memory. 12544 (have_special_memory_constraints, special_memory_start): New 12545 static vars. 12546 (special_memory_end): Ditto. 12547 (add_constraint): Add new arg is_special_memory. Add code to 12548 process its true value. Update have_special_memory_constraints. 12549 (process_define_constraint): Pass the new arg. 12550 (process_define_register_constraint): Ditto. 12551 (choose_enum_order): Process special memory. 12552 (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and 12553 function insn_extra_special_memory_constraint. 12554 (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT. 12555 * gensupport.c (process_rtx): Process 12556 DEFINE_SPECIAL_MEMORY_CONSTRAINT. 12557 * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY. 12558 * ira-lives.c (single_reg_class): Use 12559 insn_extra_special_memory_constraint. 12560 * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY. 12561 * lra-constraints.c (process_alt_operands): Ditto. 12562 (curr_insn_transform): Use insn_extra_special_memory_constraint. 12563 * recog.c (asm_operand_ok, preprocess_constraints): Process 12564 CT_SPECIAL_MEMORY. 12565 * reload.c (find_reloads): Ditto. 12566 * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New. 12567 * stmt.c (parse_input_constraint): Use 12568 insn_extra_special_memory_constraint. 12569 125702016-01-29 H.J. Lu <hongjiu.lu@intel.com> 12571 12572 PR target/69530 12573 * lra-splill.c (lra_final_code_change): Revert r229087 by 12574 removing all sub-registers. 12575 125762016-01-29 Steve Ellcey <sellcey@imgtec.com> 12577 12578 PR target/65604 12579 * config/mips/mips.c (mips_output_division): Check flag_delayed_branch. 12580 125812016-01-29 Jakub Jelinek <jakub@redhat.com> 12582 12583 PR target/69551 12584 * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For 12585 SSE1, copy target into the temporary reg first before recursing 12586 on it. 12587 125882016-01-29 H.J. Lu <hongjiu.lu@intel.com> 12589 12590 * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm 12591 with vm. 12592 125932016-01-29 Jonathan Wakely <jwakely@redhat.com> 12594 12595 * ginclude/stdarg.h: Test __cplusplus instead of 12596 __GXX_EXPERIMENTAL_CXX0X__. 12597 125982016-01-29 Richard Biener <rguenther@suse.de> 12599 12600 PR tree-optimization/69547 12601 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): 12602 Do not mark clobbers necessary. 12603 (mark_all_reaching_defs_necessary_1): Likewise. 12604 126052016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com> 12606 12607 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format 12608 declaration name with %qs and print it in both error messages. 12609 Also fix indentation. 12610 126112016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com> 12612 12613 PR other/69006 12614 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove 12615 trailing blank line from error message. 12616 126172016-01-29 Jonathan Wakely <jwakely@redhat.com> 12618 12619 PR c++/69462 12620 * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG 12621 for C++-11. 12622 126232016-01-29 Richard Biener <rguenther@suse.de> 12624 12625 PR middle-end/69537 12626 * match.pd: Allow all integral types when simplifying a 12627 widening or sign-changing conversion. 12628 126292016-01-28 Sebastian Pop <s.pop@samsung.com> 12630 12631 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert 12632 back to setting codegen_error to fail codegen. 12633 126342016-01-28 Uros Bizjak <ubizjak@gmail.com> 12635 12636 PR target/69459 12637 * config/i386/constraints.md (C): Only accept constant zero operand. 12638 (BC): New constraint. 12639 * config/i386/sse.md (*mov<mode>_internal): Use BC constraint 12640 instead of C constraint. 12641 * doc/md.texi (Machine Constraints): Update description 12642 of C constraint. 12643 126442016-01-28 Steve Ellcey <sellcey@imgtec.com> 12645 12646 PR target/68400 12647 * config/mips/mips.c (and_operands_ok): Add MIPS16 check. 12648 126492016-01-28 Jakub Jelinek <jakub@redhat.com> 12650 12651 PR middle-end/69542 12652 * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider 12653 non-debug insns. 12654 126552016-01-28 Pat Haugen <pthaugen@us.ibm.com> 12656 12657 * config/rs6000/rs6000.c (output_cbranch): Don't statically predict 12658 branches if using guessed profile. 12659 126602016-01-28 H.J. Lu <hongjiu.lu@intel.com> 12661 12662 * graphite-optimize-isl.c (optimize_isl): Fix dump. 12663 126642016-01-28 Richard Henderson <rth@redhat.com> 12665 12666 PR target/69305 12667 * config/aarch64/aarch64-modes.def (CC_Cmode): New 12668 * config/aarch64/aarch64-protos.h: Update. 12669 * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New. 12670 (aarch64_select_cc_mode): Add check for use of CC_Cmode. 12671 (aarch64_get_condition_code_1): Handle CC_Cmode. 12672 * config/aarch64/aarch64.md (addti3): Use adddi3_compareC. 12673 (*add<mode>3_compareC_cconly_imm): New. 12674 (*add<mode>3_compareC_cconly): New. 12675 (*add<mode>3_compareC_imm): New. 12676 (add<mode>3_compareC): New. 12677 (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand 12678 to be first. Use aarch64_carry_operation. 12679 (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove. 12680 (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove. 12681 (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove. 12682 (subti3): Use subdi3_compare1. 12683 (*sub<mode>3_compare0): Rename from sub<mode>3_compare0. 12684 (sub<mode>3_compare1): New. 12685 (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New. 12686 (*sub<mode>3_carryin): Use aarch64_borrow_operation. 12687 (*subsi3_carryin_uxtw): Likewise. 12688 (*ngc<mode>, *ngcsi_uxtw): Likewise. 12689 (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New. 12690 * config/aarch64/iterators.md (DWI): New. 12691 * config/aarch64/predicates.md (aarch64_carry_operation): New. 12692 (aarch64_borrow_operation): New. 12693 126942016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com> 12695 12696 * graphite-optimize-isl.c (optimize_isl): Print a different debug 12697 message when isl does not return a valid schedule. 12698 126992016-01-28 Sebastian Pop <s.pop@samsung.com> 12700 12701 * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): 12702 Remove comments from class declarations: they are already in the code 12703 close by the defs. 12704 127052016-01-28 Sebastian Pop <s.pop@samsung.com> 12706 12707 * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call 12708 codegen_error_p. 12709 (ternary_op_to_tree): Same. 12710 (unary_op_to_tree): Same. 12711 (nary_op_to_tree): Same. 12712 (gcc_expression_from_isl_expr_op): Same. 12713 (gcc_expression_from_isl_expression): Same. 12714 (graphite_create_new_loop): Same. 12715 (graphite_create_new_loop_guard): Same. 12716 (build_iv_mapping): Same. 12717 (graphite_create_new_guard): Same. 12718 (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same. 12719 (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same. 12720 127212016-01-28 Sebastian Pop <s.pop@samsung.com> 12722 12723 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert 12724 instead of setting codegen_error to fail codegen. 12725 127262016-01-28 Jason Merrill <jason@redhat.com> 12727 12728 * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED. 12729 127302016-01-28 Wilco Dijkstra <wdijkstr@arm.com> 12731 12732 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): 12733 Remove CONST_INT_P check in CCMP cost calculation. 12734 127352016-01-28 Wilco Dijkstra <wdijkstr@arm.com> 12736 12737 * config/aarch64/aarch64.c (generic_vector_cost): 12738 Set vec_permute_cost. 12739 (cortexa57_vector_cost): Likewise. 12740 (exynosm1_vector_cost): Likewise. 12741 (xgene1_vector_cost): Likewise. 12742 (aarch64_builtin_vectorization_cost): Use vec_permute_cost. 12743 * config/aarch64/aarch64-protos.h (cpu_vector_cost): 12744 Add vec_permute_cost entry. 12745 127462016-01-28 Wilco Dijkstra <wdijkstr@arm.com> 12747 12748 * config/aarch64/aarch64.md (ccmp<mode>): Disassemble 12749 immediate as %1. 12750 (add<mode>3_compare0): Likewise. 12751 (addsi3_compare0_uxtw): Likewise. 12752 (add<mode>3nr_compare0): Likewise. 12753 (compare_neg<mode>): Likewise. 12754 (<optab><mode>3): Likewise. 12755 127562016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com> 12757 12758 * tree-vect-stmts.c (vectorizable_comparison): Add 12759 NULL check for vectype. 12760 127612016-01-28 Richard Biener <rguenther@suse.de> 12762 12763 PR tree-optimization/69466 12764 * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges): 12765 Account for PHIs we couldn't duplicate. 12766 127672016-01-28 Martin Liska <mliska@suse.cz> 12768 12769 PR pch/68758 12770 * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro 12771 instead of ENABLE_VALGRIND_CHECKING. 12772 127732016-01-27 Richard Henderson <rth@redhat.com> 12774 12775 PR rtl-opt/69447 12776 * lra-remat.c (subreg_regs): New. 12777 (dump_candidates_and_remat_bb_data): Dump it. 12778 (operand_to_remat): Reject if operand in subreg_regs. 12779 (set_bb_regs): Collect subreg_regs. 12780 (lra_remat): Init and free subreg_regs. Compute 12781 calculate_local_reg_remat_bb_data before create_cands. 12782 127832016-01-27 H.J. Lu <hongjiu.lu@intel.com> 12784 12785 PR target/68986 12786 * config/i386/i386.c (ix86_update_stack_boundary): Don't 12787 change stack_alignment_needed for __tls_get_addr call. 12788 127892016-01-27 Segher Boessenkool <segher@kernel.crashing.org> 12790 12791 * config/rs6000/rs6000.c (print_operand): Rollback 's' removal. 12792 127932016-01-27 Jeff Law <law@redhat.com> 12794 12795 PR tree-optimization/68398 12796 PR tree-optimization/69196 12797 * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter. 12798 (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise. 12799 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): 12800 Only count PHIs in the last block in the path. The others will 12801 const/copy propagate away. Add heuristic to allow more irreducible 12802 subloops to be created when it is likely profitable to do so. 12803 12804 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): 12805 Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL 12806 check from within the loop. Use gsi_next_nondebug rather than gsi_next. 12807 128082016-01-27 Jakub Jelinek <jakub@redhat.com> 12809 12810 PR lto/69254 12811 * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and 12812 END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB. 12813 * asan.c (DEF_BUILTIN_STUB): Temporarily define. 12814 * tree-streamer-in.c: Include asan.h. 12815 (streamer_get_builtin_tree): For builtins in sanitizer 12816 range call initialize_sanitizer_builtins and retry. 12817 128182016-01-27 Ian Lance Taylor <iant@google.com> 12819 12820 * common.opt (fkeep-gc-roots-live): New undocumented option. 12821 * tree-ssa-loop-ivopts.c (add_candidate_1): If 12822 -fkeep-gc-roots-live, skip pointers. 12823 (add_iv_candidate_for_biv): Handle add_candidate_1 returning 12824 NULL. 12825 128262016-01-27 Uros Bizjak <ubizjak@gmail.com> 12827 12828 PR target/69512 12829 * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern. 12830 (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND. 12831 128322016-01-27 Thomas Klausner <wiz@NetBSD.org> 12833 12834 PR target/68380 12835 * configure.ac: NetBSD provides SSP in its C library. 12836 * configure: Updated. 12837 128382016-01-27 Richard Biener <rguenther@suse.de> 12839 12840 PR tree-optimization/69166 12841 * tree-vect-loop.c (vect_is_simple_reduction): Always check 12842 reduction code for commutativity / associativity. 12843 128442016-01-27 Martin Jambor <mjambor@suse.cz> 12845 12846 PR tree-optimization/69355 12847 * tree-sra.c (analyze_access_subtree): Correct hole detection when 12848 total_scalarization fails. 12849 128502016-01-27 David Edelsohn <dje.gcc@gmail.com> 12851 12852 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add 12853 power9. 12854 128552016-01-27 Christian Bruel <christian.bruel@st.com> 12856 12857 PR target/69245 12858 * config/arm/arm-c.c (arm_pragma_target_parse): Add comments. 12859 Move arm_reset_previous_fndecl and set_target_option_current_node in 12860 the conditional part. Call save_restore_target_globals. 12861 * config/arm/arm.c (arm_set_current_function): 12862 Refactor to better support #pragma target and attribute mix. 12863 Call save_restore_target_globals. 12864 * config/arm/arm-protos.h (save_restore_target_globals): New function. 12865 128662016-01-27 Martin Liska <mliska@suse.cz> 12867 12868 * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR 12869 reference for an HSA kernel and its host function. 12870 128712016-01-27 Jakub Jelinek <jakub@redhat.com> 12872 12873 PR tree-optimization/69399 12874 * wide-int.h (wi::lrshift): For larger precisions, only 12875 use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT. 12876 128772016-01-27 Claudiu Zissulescu <claziss@synopsys.com> 12878 12879 * config/arc/predicates.md (proper_comparison_operator): Reject 12880 constant-constant comparison. 12881 128822016-01-26 Tom de Vries <tom@codesourcery.com> 12883 12884 PR tree-optimization/69110 12885 * tree-data-ref.c (initialize_data_dependence_relation): Handle 12886 DR_NUM_DIMENSIONS == 0. 12887 128882016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com> 12889 Sebastian Pop <s.pop@samsung.com> 12890 12891 * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle 12892 isl_ast_op_cond and isl_ast_op_select. 12893 (gcc_expression_from_isl_expr_op): Same. 12894 128952016-01-26 Jason Merrill <jason@redhat.com> 12896 12897 PR c++/68782 12898 * tree.c (recompute_constructor_flags): Split out from 12899 build_constructor. 12900 (verify_constructor_flags): New. 12901 * tree.h: Declare them. 12902 129032016-01-26 Iain Buclaw <ibuclaw@gdcproject.org> 12904 12905 PR rtl-optimization/69217 12906 * var-tracking.c (tracked_record_parameter_p): Don't segfault if there 12907 are no TYPE_FIELDS set for the record type. 12908 129092016-01-26 Jakub Jelinek <jakub@redhat.com> 12910 12911 PR target/68662 12912 * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize 12913 toc_label_name unconditionally. 12914 (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for 12915 SYMBOL_REF string. Use toc_label_name instead of constructing 12916 LCTOC1. 12917 (rs6000_elf_declare_function_name): Use toc_label_name instead of 12918 constructing LCTOC1. 12919 129202016-01-26 Martin Sebor <msebor@redhat.com> 12921 12922 PR other/69477 12923 * doc/extend.texi (Common Type Attributes): Move text that talks about 12924 attribute packed from attribute aligned to the section discussing 12925 the former attribute for clarity. 12926 129272016-01-26 Richard Henderson <rth@redhat.com> 12928 12929 PR middle-end/60908 12930 * trans-mem.c (tm_region_init): Mark entry block as visited. 12931 129322016-01-26 David Malcolm <dmalcolm@redhat.com> 12933 12934 PR other/69006 12935 * diagnostic-show-locus.c (layout::print_source_line): Replace 12936 call to pp_newline with call to layout::print_newline. 12937 (layout::print_annotation_line): Likewise. 12938 (layout::move_to_column): Likewise. 12939 (layout::print_any_fixits): After printing any fixits, print a 12940 trailing newline, if necessary. 12941 (layout::print_newline): New method, resetting any colorization 12942 before a newline. 12943 (diagnostic_show_locus): Move the pp_newline to before the 12944 early bailout. Remove dummy block enclosing the layout instance. 12945 * diagnostic.c (default_diagnostic_finalizer): Replace invocation 12946 of pp_newline_and_flush with pp_flush. 12947 (diagnostic_append_note): Delete use of pp_newline. 12948 (diagnostic_append_note_at_rich_loc): Delete. 12949 * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete. 12950 * pretty-print.h (output_buffer_append_r): Reset buff->line_length 12951 when newline characters are added to the buffer. 12952 129532016-01-26 Michael Matz <matz@suse.de> 12954 12955 * configure.ac (ac_cv_std_swap_in_utility): New test. 12956 * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well. 12957 * configure: Regenerate. 12958 * config.in: Regenerate. 12959 129602016-01-26 Claudiu Zissulescu <claziss@synopsys.com> 12961 12962 * config/arc/arc.md (cstoresi4): Force operand into register. 12963 (arcset<code>): Fix predicate. 12964 (arcsetltu): Likewise. 12965 (arcsetgeu): Likewise. 12966 (arcsethi): Likewise. 12967 (arcsetls): Likewise. 12968 129692016-01-26 Jakub Jelinek <jakub@redhat.com> 12970 12971 PR tree-optimization/69483 12972 * gimple-fold.c (canonicalize_constructor_val): Return NULL 12973 if base has error_mark_node type. 12974 129752016-01-26 Christophe Lyon <christophe.lyon@linaro.org> 12976 12977 PR target/68620 12978 * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors. 12979 * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq): 12980 New helper macros. 12981 (vget_lane_f16): Handle big-endian. 12982 (vgetq_lane_f16): Likewise. 12983 (vset_lane_f16): Likewise. 12984 (vsetq_lane_f16): Likewise. 12985 * config/arm/iterators.md (VQXMOV): Add V8HF. 12986 (VDQ): Add V4HF and V8HF. 12987 (V_reg): Handle V4HF and V8HF. 12988 (Is_float_mode): Likewise. 12989 * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf, 12990 neon_vdup_nv8hf): New patterns. 12991 (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>): 12992 Use VD_LANE iterator. 12993 (neon_vld1_dup<mode>): Use VQ2 iterator. 12994 129952016-01-26 Nathan Sidwell <nathan@acm.org> 12996 12997 * omp-low.h (oacc_fn_attrib_kernels_p): Declare. 12998 (set_oacc_fn_attrib): Add IS_KERNEL arg. 12999 * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg. 13000 (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New. 13001 (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib. 13002 (oacc_validate_dims): Add LEVEL arg, don't return level. 13003 (new_oacc_loop_routine): Use oacc_fn_attrib_level, not 13004 oacc_validate_dims. 13005 (execute_oacc_device_lower): Adjust, add more dump output. 13006 * tree-ssa-loop.c (gate_oacc_kernels): Use 13007 oacc_fn_attrib_kernels_p. 13008 * tree-parloops.c (create_parallel_loop): Adjust 13009 set_oacc_fn_attrib call. 13010 130112016-01-26 Jakub Jelinek <jakub@redhat.com> 13012 13013 PR lto/69254 13014 * lto-wrapper.c (merge_and_complain): Handle -fcilkplus. 13015 (append_compiler_options): Handle -fcilkplus. 13016 (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}. 13017 130182016-01-26 Nick Clifton <nickc@redhat.com> 13019 13020 PR target/66655 13021 * config/i386/winnt.c (i386_pe_binds_local_p): If a function has 13022 been marked as DECL_ONE_ONLY but we do not the means to make it 13023 so, then do not allow it to bind locally. 13024 130252016-01-26 Jakub Jelinek <jakub@redhat.com> 13026 13027 PR lto/69254 13028 * opts.h (parse_sanitizer_options): New prototype. 13029 * opts.c (sanitizer_opts): New array. 13030 (parse_sanitizer_options): New function. 13031 (common_handle_option): Use parse_sanitizer_options. 13032 130332016-01-26 H.J. Lu <hongjiu.lu@intel.com> 13034 13035 PR target/68986 13036 * config/i386/i386.c (ix86_compute_frame_layout): Move stack 13037 alignment adjustment to ... 13038 (ix86_update_stack_boundary): Here. Don't over-align stack for 13039 __tls_get_addr. 13040 (ix86_finalize_stack_realign_flags): Use stack_alignment_needed 13041 if __tls_get_addr is called. 13042 130432016-01-26 Christian Bruel <christian.bruel@st.com> 13044 13045 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove. 13046 130472016-01-26 Eric Botcazou <ebotcazou@adacore.com> 13048 13049 * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode. 13050 130512016-01-26 Richard Biener <rguenther@suse.de> 13052 13053 PR middle-end/69467 13054 * match.pd: Guard X * CST CMP 0 pattern with single_use. 13055 130562016-01-26 Richard Biener <rguenther@suse.de> 13057 13058 PR tree-optimization/69452 13059 * tree-ssa-loop-im.c (move_computations_dom_walker): Remove. 13060 (move_computations_dom_walker::before_dom_children): Rename 13061 to ... 13062 (move_computations_worker): This. 13063 (move_computations): Perform an RPO rather than a DOM walk. 13064 130652016-01-26 Jakub Jelinek <jakub@redhat.com> 13066 13067 PR target/69442 13068 * combine.c (combine_instructions): For REG_EQUAL note with 13069 SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST 13070 to the underlying register. 13071 * doc/rtl.texi (REG_EQUAL): Document the behavior of 13072 REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT. 13073 130742016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com> 13075 13076 PR target/67896 13077 * config/aarch64/aarch64-builtins.c 13078 (aarch64_init_simd_builtin_types): Do not set structural 13079 equality to __Poly{8,16,64,128}_t types. 13080 130812016-01-26 Richard Sandiford <richard.sandiford@arm.com> 13082 13083 PR tree-optimization/69400 13084 * wide-int.cc (wi_pack): Take the precision as argument and 13085 perform canonicalization here rather than in the callers. 13086 Use the main loop to handle all full-width HWIs. Add a 13087 zero HWI if in_len isn't a full result. 13088 (wi::divmod_internal): Update accordingly. 13089 (wi::mul_internal): Likewise. Simplify. 13090 130912016-01-25 Aditya Kumar <aditya.k7@samsung.com> 13092 Sebastian Pop <s.pop@samsung.com> 13093 13094 * graphite-poly.c (apply_poly_transforms): Simplify. 13095 (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK. 13096 (print_isl_map): Same. 13097 (print_isl_union_map): Same. 13098 (print_isl_schedule): New. 13099 (debug_isl_schedule): New. 13100 * graphite-dependences.c (scop_get_reads): Do not call 13101 isl_union_map_add_map that is undocumented isl functionality. 13102 (scop_get_must_writes): Same. 13103 (scop_get_may_writes): Same. 13104 (scop_get_original_schedule): Remove. 13105 (scop_get_dependences): Do not call isl_union_map_compute_flow that 13106 is deprecated in isl 0.15. Instead, use isl_union_access_* interface. 13107 (compute_deps): Remove. 13108 * graphite-isl-ast-to-gimple.c (print_schedule_ast): New. 13109 (debug_schedule_ast): New. 13110 (translate_isl_ast_to_gimple::scop_to_isl_ast): Call 13111 set_separate_option. 13112 (graphite_regenerate_ast_isl): Add dump. 13113 (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code 13114 from scop->transformed_schedule. 13115 (graphite_regenerate_ast_isl): Add more dump. 13116 * graphite-optimize-isl.c (optimize_isl): Set 13117 scop->transformed_schedule. Check whether schedules are equal. 13118 (apply_poly_transforms): Move here. 13119 * graphite-poly.c (apply_poly_transforms): ... from here. 13120 (free_poly_bb): Static. 13121 (free_scop): Static. 13122 (pbb_number_of_iterations_at_time): Remove. 13123 (print_isl_ast): New. 13124 (debug_isl_ast): New. 13125 (debug_scop_pbb): New. 13126 * graphite-scop-detection.c (print_edge): Move. 13127 (print_sese): Move. 13128 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove. 13129 (build_scop_scattering): Remove. 13130 (create_pw_aff_from_tree): Assert instead of bailing out. 13131 (add_condition_to_pbb): Remove unused code, do not fail. 13132 (add_conditions_to_domain): Same. 13133 (add_conditions_to_constraints): Remove. 13134 (build_scop_context): New. 13135 (add_iter_domain_dimension): New. 13136 (build_iteration_domains): Initialize pbb->iterators. 13137 Call add_conditions_to_domain. 13138 (nested_in): New. 13139 (loop_at): New. 13140 (index_outermost_in_loop): New. 13141 (index_pbb_in_loop): New. 13142 (outermost_pbb_in): New. 13143 (add_in_sequence): New. 13144 (add_outer_projection): New. 13145 (outer_projection_mupa): New. 13146 (add_loop_schedule): New. 13147 (build_schedule_pbb): New. 13148 (build_schedule_loop): New. 13149 (embed_in_surrounding_loops): New. 13150 (build_schedule_loop_nest): New. 13151 (build_original_schedule): New. 13152 (build_poly_scop): Call build_original_schedule. 13153 * graphite.h: Declare print_isl_schedule and debug_isl_schedule. 13154 (free_poly_dr): Remove. 13155 (struct poly_bb): Add iterators. Remove schedule, transformed, saved. 13156 (free_poly_bb): Remove. 13157 (debug_loop_vec): Remove. 13158 (print_isl_ast): Declare. 13159 (debug_isl_ast): Declare. 13160 (scop_do_interchange): Remove. 13161 (scop_do_strip_mine): Remove. 13162 (scop_do_block): Remove. 13163 (flatten_all_loops): Remove. 13164 (optimize_isl): Remove. 13165 (pbb_number_of_iterations_at_time): Remove. 13166 (debug_scop_pbb): Declare. 13167 (print_schedule_ast): Declare. 13168 (debug_schedule_ast): Declare. 13169 (struct scop): Remove schedule. Add original_schedule, 13170 transformed_schedule. 13171 (free_gimple_poly_bb): Remove. 13172 (print_generated_program): Remove. 13173 (debug_generated_program): Remove. 13174 (unify_scattering_dimensions): Remove. 13175 * sese.c (print_edge): ... here. 13176 (print_sese): ... here. 13177 (debug_edge): ... here. 13178 (debug_sese): ... here. 13179 * sese.h (print_edge): Declare. 13180 (print_sese): Declare. 13181 (dump_edge): Declare. 13182 (dump_sese): Declare. 13183 131842016-01-25 Aditya Kumar <aditya.k7@samsung.com> 13185 Sebastian Pop <s.pop@samsung.com> 13186 13187 * Makefile.in: Set ISLVER in site.exp. 13188 131892016-01-25 Jakub Jelinek <jakub@redhat.com> 13190 13191 * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set 13192 DECL_VALUE_EXPR of new_var even for the non-array case. Look 13193 through DECL_VALUE_EXPR for expansion. 13194 131952016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de> 13196 13197 * config/mips/mips.c (mips_compute_frame_info): Skip re-computing 13198 the frame info after reload completed. 13199 132002016-01-25 Jeff Law <law@redhat.com> 13201 13202 PR tree-optimization/69196 13203 PR tree-optimization/68398 13204 * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from 13205 tree-ssa-threadupdate.c. 13206 (determine_bb_domination_status): Prototype 13207 * tree-ssa-threadupdate.c (enum bb_dom_status): Remove 13208 (determine_bb_domination_status): No longer static. 13209 (valid_jump_thread_path): Remove code to detect characteristics 13210 of the jump thread path not associated with correctness. 13211 * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths): 13212 Correct test for thread path length. Count PHIs for real operands as 13213 statements that need to be copied. Do not count ASSERT_EXPRs. 13214 Look at all the blocks in the thread path. Compute and selectively 13215 filter thread paths based on threading through the latch, threading 13216 a multiway branch or crossing a multiway branch. 13217 132182016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 13219 13220 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add 13221 decl with __attribute__ ((unused)) annotation. 13222 132232016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com> 13224 13225 PR target/69421 13226 * tree-vect-stmts.c (vectorizable_condition): Check vectype 13227 of operands is compatible with a statement vectype. 13228 132292016-01-25 Eric Botcazou <ebotcazou@adacore.com> 13230 13231 * doc/extend.texi (scalar_storage_order type attribute): Fix typo and 13232 improve wording for mixed storage order support. 13233 132342016-01-25 Bilyan Borisov <bilyan.borisov@arm.com> 13235 13236 * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic. 13237 (vcvt_u64_f64): Likewise. 13238 (vcvta_s64_f64): Likewise. 13239 (vcvta_u64_f64): Likewise. 13240 (vcvtm_s64_f64): Likewise. 13241 (vcvtm_u64_f64): Likewise. 13242 (vcvtn_s64_f64): Likewise. 13243 (vcvtn_u64_f64): Likewise. 13244 (vcvtp_s64_f64): Likewise. 13245 (vcvtp_u64_f64): Likewise. 13246 132472016-01-25 Claudiu Zissulescu <claziss@synopsys.com> 13248 13249 * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define. 13250 (arc_init): Check validity mll64 option. 13251 (arc_save_restore): Use double load/store instruction. 13252 (arc_expand_movmem): Likewise. 13253 (arc_split_move): Don't split if we have double load/store 13254 instructions. Returns a boolean. 13255 (arc_process_double_reg_moves): Change function to return boolean 13256 instead of a sequence of instructions. 13257 (arc_dwarf_register_span): New function. 13258 * config/arc/arc-protos.h (arc_split_move): Change prototype. 13259 * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__. 13260 * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions. 13261 (*movdf_insn): Likewise. 13262 * config/arc/arc.opt (mll64): New option. 13263 * config/arc/predicates.md (even_register_operand): New predicate. 13264 * doc/invoke.texi (ARC Options): Add mll64 documentation. 13265 132662016-01-25 Richard Biener <rguenther@suse.de> 13267 13268 PR lto/69393 13269 * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS. 13270 * tree-streamer-out.c (pack_ts_base_value_fields): Stream 13271 DECL_NAMELESS. 13272 * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise. 13273 132742016-01-25 Richard Biener <rguenther@suse.de> 13275 13276 PR tree-optimization/69376 13277 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p 13278 flag. 13279 (VN_INFO_ANTI_RANGE_P): New inline. 13280 (VN_INFO_RANGE_TYPE): Likewise. 13281 * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy 13282 SSA_NAME_ANTI_RANGE_P. 13283 (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P. 13284 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): 13285 Properly query VN_INFO_RANGE_TYPE. 13286 132872016-01-25 Nick Clifton <nickc@redhat.com> 13288 13289 PR target/66655 13290 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition. 13291 132922016-01-23 Tom de Vries <tom@codesourcery.com> 13293 13294 PR tree-optimization/69426 13295 * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of 13296 removed clobber. 13297 132982016-01-23 Jakub Jelinek <jakub@redhat.com> 13299 13300 * tree-ssanames.c (release_free_names_and_compact_live_names): Replace 13301 "the the" with "the" in the comments. 13302 * ipa-devirt.c (build_type_inheritance_graph, 13303 update_type_inheritance_graph): Likewise. 13304 * tree.c (build_function_type_list_1): Likewise. 13305 * cfgloopmanip.c (scale_loop_profile): Likewise. 13306 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise. 13307 * gimple-ssa-split-paths.c 13308 (find_block_to_duplicate_for_splitting_paths): Likewise. 13309 * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise. 13310 * expr.c (convert_move): Likewise. 13311 * var-tracking.c (vt_stack_adjustments): Likewise. 13312 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise. 13313 * tree-vrp.c (test_for_singularity): Likewise. 13314 13315 * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR 13316 directly instead of building a temporary tree. 13317 13318 PR bootstrap/69434 13319 * genrecog.c: Define INCLUDE_ALGORITHM before including system.h, 13320 remove <algorithm> include. 13321 133222016-01-22 Jakub Jelinek <jakub@redhat.com> 13323 13324 PR target/69432 13325 * config/i386/i386.c: Include dojump.h. 13326 (expand_small_movmem_or_setmem, 13327 expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling 13328 fixes. 13329 (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early 13330 if dynamic_check != -1. 13331 133322016-01-21 Jeff Law <law@redhat.com> 13333 13334 PR middle-end/69347 13335 * tree-ssa-dom.c (back_propagate_equivalences): Factored out of 13336 record_temporary_equivalences. Rewritten to avoid unnecessary calls 13337 into dominated_by_p. 13338 (cprop_into_successor_phis): Avoid unnecessary tests. 13339 133402016-01-22 Richard Henderson <rth@redhat.com> 13341 13342 PR target/69416 13343 * config/aarch64/aarch64.md (UNSPEC_NZCV): New. 13344 (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it. 13345 133462016-01-22 Michael Matz <matz@suse.de> 13347 13348 * system.h (string, algorithm): Include only conditionally. 13349 (new): Include always under C++. 13350 * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM. 13351 * final.c (toplevel): Ditto. 13352 * ipa-chkp.c (toplevel): Define INCLUDE_STRING. 13353 * genconditions.c (write_header): Make gencondmd.c define 13354 INCLUDE_STRING. 13355 * mem-stats.h (mem_usage::print_dash_line): Don't use std::string. 13356 13357 * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING. 13358 * common/config/aarch64/aarch64-common.c (toplevel): Ditto. 13359 133602016-01-22 Christian Bruel <christian.bruel@st.com> 13361 13362 PR target/68674 13363 * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed. 13364 133652016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 13366 13367 PR target/69403 13368 * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to 13369 define_insn_and_split. Ensure operands[1] and operands[0] do not 13370 get assigned the same register. 13371 133722016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org> 13373 13374 * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr. 13375 133762016-01-22 Christian Bruel <christian.bruel@st.com> 13377 13378 * config/arm/arm-c.c (arm_pragma_target_parse): 13379 Remove warn_builtin_macro_redefined overwrite. 13380 133812016-01-22 Eric Botcazou <ebotcazou@adacore.com> 13382 13383 * ipa-inline.c (can_inline_edge_p): Back out overzealous check on 13384 flag_non_call_exceptions compatibility. 13385 133862016-01-22 Jakub Jelinek <jakub@redhat.com> 13387 13388 PR debug/66668 13389 * dwarf2out.c (add_child_die_after): New function. 13390 (dwarf_qual_info_t): New type. 13391 (dwarf_qual_info): New variable. 13392 (qualified_die_p): New function. 13393 (modified_type_die): For -fdebug-types-section, ensure 13394 canonical order of qualifiers. Put qualified DIEs adjacent 13395 to the corresponding non-qualified type DIE and search there 13396 for existing qualified DIEs. 13397 133982016-01-22 Eric Botcazou <ebotcazou@adacore.com> 13399 13400 * doc/extend.texi (scalar_storage_order type attribute): Document 13401 restriction on type punning and aliasing, and remove future tense. 13402 134032016-01-21 Roman Zhuykov <zhroma@ispras.ru> 13404 13405 PR target/69252 13406 * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new 13407 first stage. 13408 134092016-01-21 Jeff Law <law@redhat.com> 13410 13411 PR middle-end/69347 13412 * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid 13413 useless call to record_temporary_equivalences. 13414 * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just 13415 allocate 10 slots in the bb_path vector and let it grow as needed. 13416 (fsm_find_control_statement_thread_paths): Similarly for the next_path 13417 vector. 13418 134192016-01-21 David Edelsohn <dje.gcc@gmail.com> 13420 13421 * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive): 13422 Detangle. 13423 * configure: Regenerate. 13424 134252016-01-21 Pat Haugen <pthaugen@us.ibm.com> 13426 13427 * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9. 13428 * config/rs6000/driver-rs6000.c (struct asm_names): Likewise. 13429 134302016-01-21 Bernd Schmidt <bschmidt@redhat.com> 13431 13432 PR middle-end/66178 13433 * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't 13434 drop EXPAND_INITIALIZER. 13435 * rtl.h (contains_symbolic_reference_p): Declare. 13436 * rtlanal.c (contains_symbolic_reference_p): New function. 13437 * simplify-rtx.c (simplify_binary_operation_1): Don't turn 13438 a subtraction into a NOT if symbolic constants are involved. 13439 134402016-01-21 Anton Blanchard <anton@samba.org> 13441 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 13442 13443 PR target/63354 13444 * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New 13445 #define. 13446 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New 13447 function. 13448 134492016-01-21 Ajit Agarwal <ajitkum@xilinx.com> 13450 13451 * config/microblaze/microblaze.c 13452 (get_branch_target): New. 13453 (insert_wic_for_ilb_runout): New. 13454 (insert_wic): New. 13455 (microblaze_machine_dependent_reorg): New. 13456 (TARGET_MACHINE_DEPENDENT_REORG): Define macro. 13457 * config/microblaze/microblaze.md 13458 (UNSPEC_IPREFETCH): Define. 13459 (iprefetch): New pattern 13460 * config/microblaze/microblaze.opt 13461 (mxl-prefetch): New flag. 13462 134632016-01-21 Ajit Agarwal <ajitkum@xilinx.com> 13464 13465 * config/microblaze/microblaze.h 13466 (FIXED_REGISTERS): Update in macro. 13467 (CALL_USED_REGISTERS): Update in macro. 13468 134692016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com> 13470 13471 PR rtl-optimization/68920 13472 * ifcvt.c (cond_move_process_if_block): Limit number of conditional 13473 moves. 13474 134752016-01-21 Vladimir Makarov <vmakarov@redhat.com> 13476 13477 PR rtl-optimization/68990 13478 * lra-coalesce.c (lra_coalesce): Invalidate value for the result 13479 pseudo instead of inheritance ones. 13480 134812016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de> 13482 Nick Clifton <nickc@redhat.com> 13483 13484 PR target/69129 13485 PR target/69012 13486 * config/mips/mips.c (mips_compute_frame_info): Initialise 13487 args_size and hard_frame_pointer_offset fields of the frame 13488 structure before calling mips_global_pointer. 13489 134902016-01-21 David Edelsohn <dje.gcc@gmail.com> 13491 13492 * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section 13493 label reference. 13494 * configure: Regenerate. 13495 134962016-01-21 Richard Biener <rguenther@suse.de> 13497 13498 * graphite-optimize-isl.c (get_schedule_map): Fix typo. 13499 135002016-01-21 Marcin Kościelnicki <koriakin@0x04.net> 13501 13502 * config/s390/s390.c (s390_asm_declare_function_size): Add code 13503 to actually emit the .size directive. 13504 135052016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com> 13506 Jakub Jelinek <jakub@redhat.com> 13507 13508 PR target/69187 13509 PR target/65624 13510 * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase 13511 args array size by one to avoid buffer overflow. 13512 135132016-01-21 Marcin Kościelnicki <koriakin@0x04.net> 13514 13515 * config/s390/s390.md (pool_section_start): Use switch_to_section 13516 to select proper read-only data section instead of hardcoding 13517 .rodata. 13518 (pool_section_end): Use switch_to_section to match the above. 13519 135202016-01-21 Richard Biener <rguenther@suse.de> 13521 13522 PR tree-optimization/69378 13523 * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function. 13524 (set_ssa_val_to): Use it for dominance checks taking into 13525 account not executable edges. 13526 135272016-01-21 Jakub Jelinek <jakub@redhat.com> 13528 13529 PR c++/69355 13530 * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode) 13531 for bitsize instead of GET_MODE_PRECISION (mode). 13532 135332016-01-20 Martin Sebor <msebor@redhat.com> 13534 13535 PR c/52291 13536 * extend.texi (__sync Builtins): Clarify the semantics of 13537 __sync_fetch_and_OP built-ins on pointers. 13538 (__atomic Builtins): Same. 13539 135402016-01-21 Aditya Kumar <aditya.k7@samsung.com> 13541 Sebastian Pop <s.pop@samsung.com> 13542 13543 * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New. 13544 (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool. 13545 (is_valid_rename): Same. 13546 (translate_isl_ast_to_gimple::get_rename): Same. 13547 (translate_isl_ast_to_gimple::rename_all_uses): Same. 13548 (translate_isl_ast_to_gimple::rename_uses): Same. 13549 (get_new_name): Check for close_phi nodes. 13550 (copy_loop_phi_args): Use phi_node_kind. 13551 (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same. 13552 (translate_isl_ast_to_gimple::copy_cond_phi_args): Same. 13553 135542016-01-21 Aditya Kumar <aditya.k7@samsung.com> 13555 Sebastian Pop <s.pop@samsung.com> 13556 13557 Revert commit r229783. 13558 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): 13559 Remove use of parameter_rename_map. 13560 (copy_def): Remove. 13561 (copy_internal_parameters): Remove. 13562 (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters. 13563 * sese.c (new_sese_info): Do not initialize parameter_rename_map. 13564 (free_sese_info): Do not free parameter_rename_map. 13565 (set_rename): Do not use parameter_rename_map. 13566 (rename_uses): Update call to set_rename. 13567 (graphite_copy_stmts_from_block): Do not use parameter_rename_map. 13568 * sese.h (parameter_rename_map_t): Remove. 13569 (struct sese_info_t): Remove field parameter_rename_map. 13570 135712016-01-21 Aditya Kumar <aditya.k7@samsung.com> 13572 Sebastian Pop <s.pop@samsung.com> 13573 13574 * graphite-isl-ast-to-gimple.c: Fix comment. 13575 * graphite-scop-detection.c (defined_in_loop_p): New. 13576 (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA 13577 names defined in loop. 13578 135792016-01-21 Aditya Kumar <aditya.k7@samsung.com> 13580 Sebastian Pop <s.pop@samsung.com> 13581 13582 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region): 13583 Discard unstructured if-then-else regions. 13584 135852016-01-21 Aditya Kumar <aditya.k7@samsung.com> 13586 Sebastian Pop <s.pop@samsung.com> 13587 13588 * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove. 13589 (cleanup_loop_iter_dom): Remove. 13590 (build_loop_iteration_domains): Remove. 13591 (build_scop_context): Remove. 13592 (build_scop_iteration_domain): Remove. 13593 (add_loop_constraints): New. 13594 (build_iteration_domains): New. 13595 (build_poly_scop): Call build_iteration_domains. 13596 135972016-01-21 Aditya Kumar <aditya.k7@samsung.com> 13598 Sebastian Pop <s.pop@samsung.com> 13599 13600 * graphite-scop-detection.c 13601 (scop_detection::harmful_loop_in_region): Free dom and loops. 13602 (scop_detection::loop_body_is_valid_scop): Free bbs. 13603 136042016-01-21 Aditya Kumar <aditya.k7@samsung.com> 13605 Sebastian Pop <s.pop@samsung.com> 13606 13607 * graphite-scop-detection.c (record_loop_in_sese): New. 13608 (gather_bbs::before_dom_children): Call record_loop_in_sese. 13609 (build_scops): Remove call to build_sese_loop_nests. 13610 * sese.c (sese_record_loop): Remove. 13611 (build_sese_loop_nests): Remove. 13612 (new_sese_info): Remove region->loops. 13613 (free_sese_info): Same. 13614 * sese.h (sese_contains_loop): Same. 13615 (build_sese_loop_nests): Remove. 13616 (sese_contains_loop): Remove. 13617 136182016-01-21 Aditya Kumar <aditya.k7@samsung.com> 13619 Sebastian Pop <s.pop@samsung.com> 13620 13621 * graphite-scop-detection.c (loop_is_valid_scop): Renamed 13622 loop_is_valid_in_scop. 13623 (scop_detection::harmful_stmt_in_region): Renamed 13624 harmful_loop_in_region. 13625 Call loop_is_valid_in_scop. 13626 136272016-01-21 Aditya Kumar <aditya.k7@samsung.com> 13628 Sebastian Pop <s.pop@samsung.com> 13629 13630 * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle 13631 isl_ast_node_mark. 13632 136332016-01-21 Aditya Kumar <aditya.k7@samsung.com> 13634 Sebastian Pop <s.pop@samsung.com> 13635 13636 * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION. 13637 * graphite.h (struct poly_bb): Remove field is_reduction. 13638 (PBB_IS_REDUCTION): Remove. 13639 136402016-01-21 Aditya Kumar <aditya.k7@samsung.com> 13641 Sebastian Pop <s.pop@samsung.com> 13642 13643 * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce. 13644 (add_pdr_constraints): Same. 13645 (scop_get_reads): Same. 13646 (scop_get_must_writes): Same. 13647 (scop_get_may_writes): Same. 13648 (scop_get_original_schedule): Same. 13649 (extend_schedule): Same. 13650 (apply_schedule_on_deps): Same. 13651 (carries_deps): Same. 13652 (compute_deps): Same. 13653 (scop_get_dependences): Same. 13654 * graphite-isl-ast-to-gimple.c 13655 (translate_isl_ast_to_gimple::generate_isl_schedule): Same. 13656 * graphite-optimize-isl.c (get_schedule_for_band): Same. 13657 (get_schedule_for_band_list): Same. 13658 (get_schedule_map): Same. 13659 (apply_schedule_map_to_scop): Same. 13660 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same. 13661 (build_loop_iteration_domains): Same. 13662 (add_condition_to_pbb): Same. 13663 (add_param_constraints): Same. 13664 (pdr_add_memory_accesses): Same. 13665 (pdr_add_data_dimensions): Same. 13666 136672016-01-20 Sandra Loosemore <sandra@codesourcery.com> 13668 13669 * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking 13670 requirements. 13671 136722016-01-20 Sandra Loosemore <sandra@codesourcery.com> 13673 13674 * common.opt (feliminate-dwarf2-dups): Replace references to 13675 "DWARF 2" with just "DWARF". 13676 * config/ia64/ia64.opt (mdwarf2-asm): Likewise. 13677 * doc/extend.texi: Likewise. 13678 * doc/cpp.texi: Likewise. 13679 * doc/invoke.texi: Likewise. 13680 (Option Summary): Add -gdwarf to list of Debugging Options. 13681 (Debugging Options): Document -gdwarf. 13682 * doc/contrib.texi: Spell "DWARF" like that. 13683 136842016-01-21 Jakub Jelinek <jakub@redhat.com> 13685 13686 * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized 13687 warning. Fix up formatting. 13688 13689 PR middle-end/67653 13690 * gimplify.c (gimplify_asm_expr): Warn if it is too late to 13691 attempt to mark memory input operand addressable and 13692 call prepare_gimple_addressable in that case. Don't adjust 13693 input_location for diagnostics, use error_at instead. 13694 136952016-01-20 Peter Bergner <bergner@vnet.ibm.com> 13696 13697 * config/rs6000/ppc-auxv.h: New file. 13698 * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin. 13699 (cpu_is): Likewise. 13700 (cpu_supports): Likewise. 13701 * config/rs6000/rs6000.c: include "ppc-auxv.h". 13702 (cpu_is_info): New variable. 13703 (cpu_supports_info): Likewise. 13704 (tcb_verification_symbol): Likewise. 13705 (cpu_builtin_p): Likewise. 13706 (cpu_expand_builtin): New function. 13707 (rs6000_expand_ternop_builtin): Add support for CPU builtin functions. 13708 (rs6000_init_builtins): Likewise. 13709 (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol. 13710 * config/rs6000/rs6000.h (TLS_REGNUM): New define. 13711 * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test. 13712 * configure: Regenerate. 13713 * config.in: Likewise. 13714 * doc/extend.texi (PowerPC Built-in Functions): Document 13715 __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports. 13716 137172016-01-20 David Edelsohn <dje.gcc@gmail.com> 13718 13719 PR target/68609 13720 * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt 13721 domain check. 13722 * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt 13723 for V4SFmode. 13724 137252016-01-20 Richard Henderson <rth@redhat.com> 13726 13727 PR bootstrap/69343 13728 PR bootstrap/69339 13729 PR tree-opt/68964 13730 Revert: 13731 * tree.c (tm_define_builtin): New. 13732 (find_tm_vector_type): New. 13733 (build_tm_vector_builtins): New. 13734 (build_common_builtin_nodes): Call it. 13735 137362016-01-20 Christophe Lyon <christophe.lyon@linaro.org> 13737 13738 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry. 13739 (arm_fp_ok): Likewise. 13740 (arm_fp): Likewise. 13741 (arm_crypto): Likewise. 13742 137432016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com> 13744 Richard Biener <rguenther@suse.de> 13745 13746 PR tree-optimization/69328 13747 * tree-vect-stmts.c (vect_is_simple_cond): Check compared 13748 vectors have same number of elements. 13749 (vectorizable_condition): Fix masked version recognition. 13750 137512016-01-20 Richard Biener <rguenther@suse.de> 13752 13753 PR tree-optimization/69345 13754 * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function. 13755 (VN_INFO_PTR_INFO): Likewise. 13756 * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to 13757 info when it is equal between non-dominating SSA names. 13758 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): 13759 Make sure to look at original SSA infos. 13760 137612016-01-20 Jeff Law <law@redhat.com> 13762 13763 PR target/25114 13764 * config/m68k/predicates.md (pow2_m1_operand): New predicate 13765 extracted from ... 13766 (reg_or_pow2_m1_operand): Call pow2_m1_operand. 13767 (pc_or_label_operand): New predicate. 13768 * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU 13769 tests for small integers that are 2^n - 1. 13770 137712016-01-20 Jonathan Wakely <jwakely@redhat.com> 13772 13773 * doc/invoke.texi (Options Summary): Add '.' after @xref. 13774 137752016-01-19 Jeff Law <law@redhat.com> 13776 13777 PR middle-end/69347 13778 * tree-ssa-threadbackwards.c 13779 (fsm_find_control_statement_thread_paths): Do not try to lookup 13780 FSM paths for SSA_NAMEs appearing in abnormal PHIs. 13781 137822016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org> 13783 13784 * doc/lto.texi: Remove text that says only Gold has linker plugin 13785 support. 13786 137872016-01-19 Eric Botcazou <ebotcazou@adacore.com> 13788 13789 * dwarf2out.c (need_endianity_attribute_p): New inline predicate. 13790 (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to 13791 the DIE accordingly. 13792 (modified_type_die): Add REVERSE parameter and pass it recursively, 13793 as well as to base_type_die. Adjust presence check accordingly. 13794 (base_type_for_mode): Adjust call to modified_type_die. 13795 (add_type_attribute): Add REVERSE parameter and pass it to 13796 modified_type_die. 13797 (generic_parameter_die): Adjust call to add_type_attribute. 13798 (add_scalar_info): Likewise. 13799 (add_subscript_info): Likewise. 13800 (gen_array_type_die): Likewise. 13801 (gen_descr_array_type_die): Likewise. 13802 (gen_entry_point_die): Likewise. 13803 (gen_enumeration_type_die): Likewise. 13804 (gen_formal_parameter_die): Likewise. 13805 (gen_subprogram_die): Likewise. 13806 (gen_variable_die ): Likewise. 13807 (gen_const_die): Likewise. 13808 (gen_field_die): Likewise. 13809 (gen_pointer_type_die): Likewise. 13810 (gen_reference_type_die): Likewise. 13811 (gen_ptr_to_mbr_type_die): Likewise. 13812 (gen_inheritance_die): Likewise. 13813 (gen_subroutine_type_die): Likewise. 13814 (gen_typedef_die): Likewise. 13815 (force_type_die): Adjust call to modified_type_die. 13816 138172016-01-19 Sandra Loosemore <sandra@codesourcery.com> 13818 13819 * doc/standards.texi: Copy-editing for grammar, markup, and sentence 13820 flow throughout the file. Fix broken link to Objective-C 2.0 13821 documentation. 13822 * doc/invoke.texi: More copy-editing; fix numerous typos and spelling 13823 errors. 13824 138252016-01-19 Wilco Dijkstra <wdijkstr@arm.com> 13826 13827 * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings. 13828 138292016-01-19 Jan Hubicka <hubicka@ucw.cz> 13830 13831 PR ipa/66223 13832 * ipa-devirt.c (is_cxa_pure_virtual_p): New function. 13833 (maybe_record_node): Record cxa_pure_virtual as the only possible 13834 target if there are not ohter candidates. 13835 (possible_polymorphic_call_target_p): Accept cxa_pure_virtual. 13836 138372016-01-19 Richard Biener <rguenther@suse.de> 13838 13839 * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants. 13840 (get_memory_order): Likewise. 13841 138422016-01-19 Kirill Yukhin <kirill.yukhin@intel.com> 13843 13844 * tree-vect-stmts.c (vectorizable_store): Check 13845 rhs vectype. 13846 138472016-01-19 David Malcolm <dmalcolm@redhat.com> 13848 13849 PR jit/68446 13850 * gcc.c (driver::decode_argv): Add call to 13851 init_opts_obstack before init_options_struct. 13852 * opts.c (init_opts_obstack): Remove idempotency. 13853 (init_options_struct): Replace call to init_opts_obstack 13854 with a gcc_assert to verify that it has already been called. 13855 * toplev.c (toplev::main): Add call to init_opts_obstack before 13856 calls to init_options_struct. 13857 (toplev::finalize): Move cleanup of opts_obstack next to 13858 cleanup of save_decoded_options, clearing the latter, and 13859 save_decoded_options_count. 13860 138612016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 13862 13863 PR target/69135 13864 * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds" 13865 attribute to unconditional. Remove %? from output template. 13866 138672015-01-19 Wilco Dijkstra <wdijkstr@arm.com> 13868 Jiong Wang <jiong.wang@arm.com> 13869 13870 * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences 13871 generated from different expand order. 13872 138732015-01-19 Wilco Dijkstra <wdijkstr@arm.com> 13874 13875 * /config/aarch64/aarch64.c (aarch64_if_then_else_costs): 13876 Add support for CCMP costing. 13877 138782015-01-19 Wilco Dijkstra <wdijkstr@arm.com> 13879 13880 * ccmp.c (ccmp_candidate_p): Remove integer-only restriction. 13881 * config/aarch64/aarch64.md (fccmp<mode>): New pattern. 13882 (fccmpe<mode>): Likewise. 13883 (fcmp): Rename to fcmp and globalize pattern. 13884 (fcmpe): Likewise. 13885 * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support. 13886 (aarch64_gen_ccmp_next): Add FP support. 13887 138882015-01-19 Wilco Dijkstra <wdijkstr@arm.com> 13889 13890 * target.def (gen_ccmp_first): Update documentation. 13891 (gen_ccmp_next): Likewise. 13892 * doc/tm.texi (gen_ccmp_first): Update documentation. 13893 (gen_ccmp_next): Likewise. 13894 * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of 13895 expand_ccmp_expr_1. Improve comments. 13896 * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp. 13897 (ccmp_ior<mode>): Remove pattern. 13898 (cmp<mode>): Remove expand. 13899 (cmp): Globalize pattern. 13900 (cstorecc4): Use cc_register. 13901 (mov<mode>cc): Remove ccmp_cc_register check. 13902 * config/aarch64/aarch64.c (aarch64_get_condition_code_1): 13903 Simplify after removal of CC_DNE/* modes. 13904 (aarch64_ccmp_mode_to_code): Remove. 13905 (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases. 13906 In 'k' case use integer as condition. 13907 (aarch64_nzcv_codes): Remove inverted cases. 13908 (aarch64_code_to_ccmode): Remove. 13909 (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct 13910 comparison with CC register to be used in folowing CCMP/branch/CSEL. 13911 (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP 13912 pattern. Return the comparison with CC register. Invert conditions 13913 when bitcode is OR. 13914 * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes. 13915 * config/aarch64/predicates.md (ccmp_cc_register): Remove. 13916 139172016-01-19 Jan Hubicka <hubicka@ucw.cz> 13918 13919 * cgraphunit.c (cgraph_node::reset): Clear thunk info and 13920 instrumented_version. 13921 139222016-01-19 Richard Biener <rguenther@suse.de> 13923 13924 PR tree-optimization/69336 13925 * tree-ssa-scopedtables.c (avail_expr_hash): Handle all 13926 handled components with get_ref_base_and_extent. 13927 (equal_mem_array_ref_p): Adjust. 13928 139292016-01-19 Jakub Jelinek <jakub@redhat.com> 13930 13931 PR debug/65779 13932 * shrink-wrap.c: Include valtrack.h. 13933 (move_insn_for_shrink_wrap): Add DEBUG argument. If 13934 MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs 13935 in between insn and where it will be moved to. Call 13936 dead_debug_insert_temp. 13937 (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init 13938 first and dead_debug_local_finish at the end. 13939 For uses and defs bitmap, handle all regs in between REGNO and 13940 END_REGNO, not just the first one. 13941 139422016-01-19 Richard Biener <rguenther@suse.de> 13943 13944 PR tree-optimization/69352 13945 * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1. 13946 (equal_mem_array_ref_p): Constrain size and max size properly. 13947 Compare the reverse flag. 13948 139492016-01-19 Bernd Schmidt <bschmidt@redhat.com> 13950 13951 * ira.c (ira): Update regstat data if we deleted insns. 13952 139532016-01-19 Jakub Jelinek <jakub@redhat.com> 13954 13955 PR rtl-optimization/68955 13956 PR rtl-optimization/64557 13957 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr 13958 here. Fix up formatting. 13959 * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P. 13960 139612016-01-19 Jan Hubicka <hubicka@ucw.cz> 13962 13963 PR lto/69133 13964 * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple 13965 assume that the node has body. 13966 * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p 13967 check. 13968 139692016-01-19 Jan Hubicka <hubicka@ucw.cz> 13970 13971 * lto-streamer-out.c (lto_output): Do not stream instrumentation 13972 thunks. 13973 139742016-01-19 Jan Hubicka <hubicka@ucw.cz> 13975 13976 * symtab.c (symtab_node::asm_name): Do not call printable name directly. 13977 (symtab_node::name): Report name as unnamed if DECL_NAME is not set. 13978 139792016-01-19 Martin Jambor <mjambor@suse.cz> 13980 Martin Liska <mliska@suse.cz> 13981 Michael Matz <matz@suse.de> 13982 13983 * Makefile.in (OBJS): Add new source files. 13984 (GTFILES): Add hsa.c. 13985 * common.opt (disable_hsa): New variable. 13986 (-Whsa): New warning. 13987 * config.in (ENABLE_HSA): New. 13988 * configure.ac: Treat hsa differently from other accelerators. 13989 (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to 13990 $enable_offloading. 13991 (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa. 13992 * doc/install.texi (Configuration): Document --with-hsa-runtime, 13993 --with-hsa-runtime-include, --with-hsa-runtime-lib and 13994 --with-hsa-kmt-lib. 13995 * doc/invoke.texi (-Whsa): Document. 13996 (hsa-gen-debug-stores): Likewise. 13997 * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt 13998 to invoke offload compiler for hsa acclerator. 13999 * opts.c (common_handle_option): Determine whether HSA offloading 14000 should be performed. 14001 * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter. 14002 * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New. 14003 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed. 14004 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New. 14005 * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY. 14006 * gimple-pretty-print.c (dump_gimple_omp_for): Also handle 14007 GF_OMP_FOR_KIND_GRID_LOOP. 14008 (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY. 14009 (pp_gimple_stmt_1): Likewise. 14010 * gimple-walk.c (walk_gimple_stmt): Likewise. 14011 * gimple.c (gimple_build_omp_grid_body): New function. 14012 (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY. 14013 * gimple.def (GIMPLE_OMP_GRID_BODY): New. 14014 * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY, 14015 GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and 14016 GF_OMP_TEAMS_GRID_PHONY. 14017 (gimple_statement_omp_single_layout): Updated comments. 14018 (gimple_build_omp_grid_body): New function. 14019 (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY. 14020 (gimple_omp_for_grid_phony): New function. 14021 (gimple_omp_for_set_grid_phony): Likewise. 14022 (gimple_omp_parallel_grid_phony): Likewise. 14023 (gimple_omp_parallel_set_grid_phony): Likewise. 14024 (gimple_omp_teams_grid_phony): Likewise. 14025 (gimple_omp_teams_set_grid_phony): Likewise. 14026 (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY. 14027 * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New. 14028 (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise. 14029 (BUILT_IN_GOMP_TARGET): Updated type. 14030 * omp-low.c: Include symbol-summary.h, hsa.h and params.h. 14031 (adjust_for_condition): New function. 14032 (get_omp_for_step_from_incr): Likewise. 14033 (extract_omp_for_data): Moved parts to adjust_for_condition and 14034 get_omp_for_step_from_incr. 14035 (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY. 14036 (fixup_child_record_type): Bail out if receiver_decl is NULL. 14037 (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_. 14038 (scan_omp_parallel): Do not create child functions for phony 14039 constructs. 14040 (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY. 14041 (scan_omp_1_op): Checking assert we are not remapping to 14042 ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY. 14043 (parallel_needs_hsa_kernel_p): New function. 14044 (expand_parallel_call): Register apprpriate parallel child 14045 functions as HSA kernels. 14046 (grid_launch_attributes_trees): New type. 14047 (grid_attr_trees): New variable. 14048 (grid_create_kernel_launch_attr_types): New function. 14049 (grid_insert_store_range_dim): Likewise. 14050 (grid_get_kernel_launch_attributes): Likewise. 14051 (get_target_argument_identifier_1): Likewise. 14052 (get_target_argument_identifier): Likewise. 14053 (get_target_argument_value): Likewise. 14054 (push_target_argument_according_to_value): Likewise. 14055 (get_target_arguments): Likewise. 14056 (expand_omp_target): Call get_target_arguments instead of looking 14057 up for teams and thread limit. 14058 (grid_expand_omp_for_loop): New function. 14059 (grid_arg_decl_map): New type. 14060 (grid_remap_kernel_arg_accesses): New function. 14061 (grid_expand_target_kernel_body): New function. 14062 (expand_omp): Call it. 14063 (lower_omp_for): Do not emit phony constructs. 14064 (lower_omp_taskreg): Do not emit phony constructs but create for them 14065 a temporary variable receiver_decl. 14066 (lower_omp_taskreg): Do not emit phony constructs. 14067 (lower_omp_teams): Likewise. 14068 (lower_omp_grid_body): New function. 14069 (lower_omp_1): Call it. 14070 (grid_reg_assignment_to_local_var_p): New function. 14071 (grid_seq_only_contains_local_assignments): Likewise. 14072 (grid_find_single_omp_among_assignments_1): Likewise. 14073 (grid_find_single_omp_among_assignments): Likewise. 14074 (grid_find_ungridifiable_statement): Likewise. 14075 (grid_target_follows_gridifiable_pattern): Likewise. 14076 (grid_remap_prebody_decls): Likewise. 14077 (grid_copy_leading_local_assignments): Likewise. 14078 (grid_process_kernel_body_copy): Likewise. 14079 (grid_attempt_target_gridification): Likewise. 14080 (grid_gridify_all_targets_stmt): Likewise. 14081 (grid_gridify_all_targets): Likewise. 14082 (execute_lower_omp): Call grid_gridify_all_targets. 14083 (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY. 14084 * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_. 14085 (tree_omp_clause): Added union field dimension. 14086 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_. 14087 * tree.c (omp_clause_num_ops): Added number of arguments of 14088 OMP_CLAUSE__GRIDDIM_. 14089 (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_. 14090 (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_. 14091 * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New. 14092 (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise. 14093 (OMP_CLAUSE_GRIDDIM_SIZE): Likewise. 14094 (OMP_CLAUSE_GRIDDIM_GROUP): Likewise. 14095 * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail. 14096 * tree-pass.h (make_pass_gen_hsail): Declare. 14097 (make_pass_ipa_hsa): Likewise. 14098 * ipa-hsa.c: New file. 14099 * lto-section-in.c (lto_section_name): Add hsa section name. 14100 * lto-streamer.h (lto_section_type): Add hsa section. 14101 * timevar.def (TV_IPA_HSA): New. 14102 * hsa-brig-format.h: New file. 14103 * hsa-brig.c: New file. 14104 * hsa-dump.c: Likewise. 14105 * hsa-gen.c: Likewise. 14106 * hsa.c: Likewise. 14107 * hsa.h: Likewise. 14108 * toplev.c (compile_file): Call hsa_output_brig. 14109 * hsa-regalloc.c: New file. 14110 141112016-01-18 Jeff Law <law@redhat.com> 14112 14113 PR tree-optimization/69320 14114 * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean 14115 ranged object, do nothing if the RHS constant is not [0..1]. 14116 (optimize_stmt): Comparing a boolean ranged object against a 14117 constant outside [0..1] results in a compile-time constant. 14118 14119 * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary 14120 test. 14121 141222016-01-18 Sandra Loosemore <sandra@codesourcery.com> 14123 14124 * doc/invoke.texi (Invoking GCC): Add new section to menu. 14125 (Option Summary): Update to reflect new section and moved options. 14126 (C++ Dialect Options): Move -fstats to new section. 14127 (Debugging Options): Move all dump, statistics, and other GCC 14128 developer options to new section. Rewrite section introduction 14129 and re-order remaining options to put the more basic ones first. 14130 (Optimization Options): Move -fira-verbose and -flto-report* to 14131 new section. 14132 (Developer Options): New section incorporating moved options. 14133 * doc/cppopts.texi (-dM): Update cross-reference. 14134 141352016-01-18 Richard Henderson <rth@redhat.com> 14136 14137 PR target/69176 14138 * config/aarch64/aarch64.md (add<GPI>3): Move long immediate 14139 operands to pseudo only if CSE is expected. Split long immediate 14140 operands only after reload, and for the stack pointer. 14141 (*add<GPI>3_pluslong): Remove. 14142 (*addsi3_aarch64, *adddi3_aarch64): Merge into... 14143 (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative. 14144 (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative. 14145 (*add<GPI>3 peepholes): New. 14146 (*add<GPI>3 splitters): New. 14147 * config/aarch64/constraints.md (Upl): New. 14148 * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New. 14149 141502016-01-18 Richard Biener <rguenther@suse.de> 14151 14152 PR tree-optimization/69297 14153 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar 14154 stmt at most once. 14155 (vect_bb_vectorization_profitable_p): Clear visited flag again. 14156 141572016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com> 14158 14159 PR middle-end/68542 14160 * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case 14161 of mixind vector and scalar types. 14162 (fold_relational_const): Add handling of vector 14163 comparison with boolean result. 14164 * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow 14165 comparison of vector operands with boolean result for EQ/NE only. 14166 (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison. 14167 (verify_gimple_cond): Likewise. 14168 * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on 14169 valid type of VAL. 14170 141712016-01-18 Joseph Myers <joseph@codesourcery.com> 14172 14173 * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require 14174 !TARGET_OCTEON. 14175 141762016-01-18 Richard Biener <rguenther@suse.de> 14177 14178 PR middle-end/69308 14179 * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND. 14180 141812016-01-18 Tom de Vries <tom@codesourcery.com> 14182 14183 * passes.def: Add pass_parallelize_loops to pass_oacc_kernels. 14184 141852016-01-18 Tom de Vries <tom@codesourcery.com> 14186 14187 * omp-low.c (set_oacc_fn_attrib): Make extern. 14188 * omp-low.h (set_oacc_fn_attrib): Declare. 14189 * tree-parloops.c (struct reduction_info): Add reduc_addr field. 14190 (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL. 14191 (create_parallel_loop, gen_parallel_loop, try_create_reduction_list): 14192 Add and handle function parameter oacc_kernels_p. 14193 (find_reduc_addr, get_omp_data_i_param): New function. 14194 (ref_conflicts_with_region, oacc_entry_exit_ok_1) 14195 (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function. 14196 (parallelize_loops): Add and handle function parameter oacc_kernels_p. 14197 Calculate dominance info. Skip loops that are not in a kernels region 14198 in oacc_kernels_p mode. Skip inner loops of parallelized loops. 14199 (pass_parallelize_loops::execute): Call parallelize_loops with 14200 oacc_kernels_p argument. 14201 (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param): 14202 New member function. 14203 (pass_parallelize_loops::bool oacc_kernels_p): New member var. 14204 * passes.def: Add argument to pass_parallelize_loops instantation. 14205 142062016-01-18 Tom de Vries <tom@codesourcery.com> 14207 14208 * tree-parloops.c (pass_parallelize_loops::execute): Allow 14209 pass_parallelize_loops to be run outside the loop pipeline. 14210 142112016-01-18 Alan Lawrence <alan.lawrence@arm.com> 14212 14213 * tree-scalar-evolution.c (follow_copies_to_constant): New. 14214 (analyze_initial_condition, analyze_scalar_evolution_1): Call previous. 14215 142162016-01-18 Alan Lawrence <alan.lawrence@arm.com> 14217 14218 PR target/63679 14219 * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF 14220 using get_ref_base_and_extent. 14221 (equal_mem_array_ref_p): New. 14222 (hashable_expr_equal_p): Add call to previous. 14223 142242016-01-18 Alan Lawrence <alan.lawrence@arm.com> 14225 14226 PR target/63679 14227 * tree-sra.c (disqualified_constants, constant_decl_p): New. 14228 (sra_initialize): Allocate disqualified_constants. 14229 (sra_deinitialize): Free disqualified_constants. 14230 (disqualify_candidate): Update disqualified_constants when appropriate. 14231 (create_access): Scan for constant-pool entries as we go along. 14232 (scalarizable_type_p): Add check against type_contains_placeholder_p. 14233 (maybe_add_sra_candidate): Allow constant-pool entries. 14234 (load_assign_lhs_subreplacements): Bind debug for constant pool vars. 14235 (initialize_constant_pool_replacements): New. 14236 (sra_modify_assign): Avoid mangling assignments created by previous, 14237 and don't generate writes into constant pool. 14238 (sra_modify_function_body): Call initialize_constant_pool_replacements. 14239 142402016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com> 14241 14242 * config/i386/i386.c (scalar_to_vector_candidate_p): Support 14243 andnot instruction. 14244 (scalar_chain::convert_op): Likewise. 14245 * config/i386/i386.md (*andndi3_doubleword): New. 14246 142472016-01-18 Richard Biener <rguenther@suse.de> 14248 14249 PR tree-optimization/69170 14250 * tree-vect-slp.c (vect_build_slp_tree): Verify we are not 14251 building a vector from scalar results of a pattern stmt. 14252 142532016-01-18 Jakub Jelinek <jakub@redhat.com> 14254 14255 * haifa-sched.c (autopref_multipass_init): Work around 14256 -Wmaybe-uninitialized warning. 14257 142582016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com> 14259 14260 * config/arm/arm.c (thumb1_reorg): Check that the comparison is 14261 against the constant 0. 14262 142632016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 14264 14265 PR tree-optimization/68799 14266 * gimple-ssa-strength-reduction.c (create_phi_basis): Directly 14267 look up phi candidates in the statement-candidate map. 14268 (phi_add_costs): Likewise. 14269 (record_phi_increments): Likewise. 14270 (phi_incr_cost): Likewise. 14271 (ncd_with_phi): Likewise. 14272 (all_phi_incrs_profitable): Likewise. 14273 142742016-01-17 Jakub Jelinek <jakub@redhat.com> 14275 14276 * omp-low.c (mark_loops_in_oacc_kernels_region): Work around 14277 -Wmaybe-uninitialized warning. 14278 142792016-01-16 Sandra Loosemore <sandra@codesourcery.com> 14280 14281 * doc/invoke.texi (Invoking GCC): Add new section to menu. 14282 (Option Summary): Update to reflect new section and moved options. 14283 (C++ Dialect Options): Move -fvtable-verify and related options. 14284 (Debugging Options): Move Sanitizer, Pointer Bounds Checker, 14285 and profiling-related options. 14286 (Optimization Options): Move profile generation options and 14287 -fstack-protector and related options. 14288 (Instrumentation Options): New section incorporating moved options. 14289 (Code Generation Options): Move -finstrument-functions and 14290 related options, -fstack-check, -fstack-limit*, and -fbounds-check. 14291 142922016-01-16 Tom de Vries <tom@codesourcery.com> 14293 14294 * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops. 14295 142962016-01-16 Tom de Vries <tom@codesourcery.com> 14297 14298 * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt. 14299 143002016-01-16 Richard Sandiford <richard.sandiford@arm.com> 14301 14302 * hash-table.h (hash_table::empty): Turn into an inline wrapper 14303 that checks whether the table is already empty. Rename the 14304 original implementation to... 14305 (hash_table::empty_slot): ...this new private function. 14306 143072016-01-15 David Malcolm <dmalcolm@redhat.com> 14308 14309 PR diagnostic/68899 14310 * diagnostic-show-locus.c (layout::print_source_line): Move x 14311 offset of line until after call to 14312 get_line_width_without_trailing_whitespace. 14313 143142016-01-15 Jeff Law <law@redhat.com> 14315 14316 PR tree-optimization/69270 14317 * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from 14318 tree-ssa-dom.c. Improve test for [0..1] ranve from VRP. 14319 * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove. 14320 * tree-ssanames.h (ssa_name_has_boolean_range): Prototype. 14321 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use 14322 ssa_name_has_boolean_range and constant_boolean_node. 14323 143242016-01-15 Vladimir Makarov <vmakarov@redhat.com> 14325 14326 PR rtl-optimization/69030 14327 * lra-spills.c (remove_pseudos): Check nrefs and make the function 14328 returning bool. 14329 (spill_pseudos): Delete debug insn for dead pseudo. 14330 (lra_spill): Initiate spill_hard_reg and slots memory separately. 14331 143322016-01-15 Jiong Wang <jiong.wang@arm.com> 14333 14334 * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers): 14335 New. 14336 (TYPES_UNOPUS): Likewise. 14337 * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct 14338 builtin type, from UNOP to UNOPUS. 14339 (lbtruncuv4sf): Likewise. 14340 (lbtruncuv2df): Likewise. 14341 (lrounduv2sf): Likewise. 14342 (lrounduv4sf): Likewise. 14343 (lrounduv2df): Likewise. 14344 (lroundusf): Likewise. 14345 (lroundusf): Likewise. 14346 (lceiluv2sf): Likewise. 14347 (lceiluv4sf): Likewise. 14348 (lceiluv2df): Likewise. 14349 (lceilusf): Likewise. 14350 (lceiludf): Likewise. 14351 (lflooruv2sf): Likewise. 14352 (lflooruv4sf): Likewise. 14353 (lflooruv2df): Likewise. 14354 (lfloorusf): Likewise. 14355 (lfloorudf): Likewise. 14356 (lfrintnuv2sf): Likewise. 14357 (lfrintnuv4sf): Likewise. 14358 (lfrintnuv2df): Likewise. 14359 (lfrintnusf): Likewise. 14360 (lfrintnudf): Likewise. 14361 * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type 14362 conversion. 14363 (vcvtq_u32_f32): Likewise. 14364 (vcvtq_u64_f64): Likewise. 14365 (vcvta_u32_f32): Likewise. 14366 (vcvtaq_u32_f32): Likewise. 14367 (vcvtaq_u64_f64): Likewise. 14368 (vcvtm_u32_f32): Likewise. 14369 (vcvtmq_u32_f32): Likewise. 14370 (vcvtmq_u64_f64): Likewise. 14371 (vcvtn_u32_f32): Likwise. 14372 (vcvtnq_u32_f32): Likewise. 14373 (vcvtnq_u64_f64): Likewise. 14374 (vcvtp_u32_f32): Likewise. 14375 (vcvtpq_u32_f32): Likewise. 14376 (vcvtpq_u64_f64): Likewise. 14377 (vcvtmd_u64_f64): Likewise. 14378 (vcvtms_u32_f32): Likewise. 14379 (vcvtad_u64_f64): Likewise. 14380 (vcvtas_u32_f32): Likewise. 14381 (vcvtnd_u64_f64): Likewise. 14382 (vcvtns_u32_f32): Likewise. 14383 (vcvtpd_u64_f64): Likewise. 14384 (vcvtps_u32_f32): Likewise. 14385 143862016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 14387 14388 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle 14389 CSEL of zero_extended registers. 14390 143912016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 14392 14393 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case): 14394 Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate. 14395 143962016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 14397 14398 * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return 14399 false when argument string is not found in the attributes table 14400 at all. 14401 144022016-01-15 David Edelsohn <dje.gcc@gmail.com> 14403 14404 PR target/68609 14405 * config/rs6000/rs6000.c (rs6000_emit_msub): Delete. 14406 (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm 14407 * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high 14408 precision estimate. 14409 144102016-01-15 Richard Biener <rguenther@suse.de> 14411 14412 PR tree-optimization/66856 14413 * tree-vect-loop.c (vect_transform_loop): Free SLP instances here. 14414 * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count. 14415 (vect_create_new_slp_node): Increment stmt reference count. 14416 (vect_get_and_check_slp_defs): Make sure stmts are nor already in 14417 an SLP tree before swapping operands. 14418 (vect_build_slp_tree): Likewise. 14419 (destroy_bb_vec_info): Free stmt info after SLP instances. 14420 * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count. 14421 * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field. 14422 (STMT_VINFO_NUM_SLP_USES): New macro. 14423 144242016-01-15 Richard Biener <rguenther@suse.de> 14425 14426 PR debug/69137 14427 * dwarf2out.c (add_linkage_name_raw): New function split out from ... 14428 (add_linkage_name): ... here. 14429 (gen_typedef_die): Use add_linkage_name_raw instead of 14430 add_linkage_attr to delay DECL_ASSEMBLER_NAME computation 14431 if necessary. 14432 144332016-01-15 Cesar Philippidis <cesar@codesourcery.com> 14434 14435 * gimplify.c (oacc_default_clause): Decode reference and pointer 14436 types for both kernels and parallel regions. 14437 144382016-01-15 Richard Sandiford <richard.sandiford@arm.com> 14439 14440 PR middle-end/69246 14441 * calls.c (emit_call_1): Force n_popped to zero for sibcalls. 14442 144432016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com> 14444 14445 * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo. 14446 (convert_scalars_to_vector): Likewise. 14447 144482016-01-15 Jonathan Wakely <jwakely@redhat.com> 14449 14450 * doc/extend.texi (Type Traits): Fix grammar. 14451 144522016-01-15 Martin Jambor <mjambor@suse.cz> 14453 14454 * tree-inline.c (remap_decl): Use existing dclarations if 14455 remapping a type and prevent_decl_creation_for_types. 14456 (replace_locals_stmt): Do an initial remapping of non-VLA typed 14457 decls first. Do real remapping with 14458 prevent_decl_creation_for_types set. 14459 * tree-inline.h (copy_body_data): New field 14460 prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid 14461 padding. 14462 144632016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com> 14464 14465 * config/s390/s390.opt (mmvcle): More verbose help text. 14466 144672016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com> 14468 14469 * config/s390/s390.opt: Add period to -mzvector option text. 14470 144712016-01-15 Richard Biener <rguenther@suse.de> 14472 14473 PR tree-optimization/68961 14474 * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost 14475 of invariants in stores again. 14476 144772016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de> 14478 14479 * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib. 14480 144812016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com> 14482 14483 * config/i386/i386.c (ix86_expand_branch): Don't split 14484 DI mode xor instruction to SI mode. 14485 144862016-01-15 Jan Hubicka <hubicka@ucw.cz> 14487 14488 PR ipa/68148 14489 * ipa-icf.c (sem_function::merge): Virtual functions may become 14490 reachable even if they address is not taken and there are no 14491 idrect calls. 14492 144932016-01-15 Jan Hubicka <hubicka@ucw.cz> 14494 14495 * lto-streamer-out.c (subtract_estimated_size): New function. 14496 (get_symbol_initial_value): Use it. 14497 144982016-01-15 Christian Bruel <christian.bruel@st.com> 14499 14500 PR target/65837 14501 * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag. 14502 (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins, 14503 (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins. 14504 use add_builtin_function_ext_scope instead of add_builtin_function. 14505 (neon_set_p, neon_crypto_set_p): Remove. 14506 (arm_init_builtins): Always call arm_init_neon_builtins and 14507 arm_init_crypto_builtins. 14508 (arm_expand_builtin): Check that builtins are allowed for the arch. 14509 * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype. 14510 * config/arm/arm.c (arm_valid_target_attribute_tree): Remove 14511 arm_init_neon_builtins call. 14512 145132016-01-15 Richard Biener <rguenther@suse.de> 14514 14515 PR tree-optimization/69117 14516 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member. 14517 * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info 14518 of the leader conservatively. 14519 (free_scc_vn): Restore original SSA name infos. 14520 145212016-01-14 Jeff Law <law@redhat.com> 14522 14523 PR tree-optimization/69270 14524 * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a 14525 single bit of precision, verify it's also unsigned. 14526 (record_edge_info): Use constant_boolean_node rather than fold_convert 14527 to convert boolean_true/boolean_false to the right type. 14528 145292016-01-14 Richard Henderson <rth@redhat.com> 14530 14531 PR rtl-opt/69014 14532 * loop-doloop.c (record_reg_sets): New. 14533 (doloop_optimize): Reject the transform if the sequence 14534 clobbers registers live at the end of the loop block. 14535 (doloop_optimize_loops): Enable df_live if needed. 14536 145372016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com> 14538 14539 * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change. 14540 * gcc/config/rs6000/rs6000.c: Likewise. 14541 * gcc/config/rs6000/rs6000.h: Likewise. 14542 * gcc/config/rs6000/rs6000.md: Likewise. 14543 * gcc/doc/extend.texi: Likewsie. 14544 145452016-01-14 Jeff Law <law@redhat.com> 14546 14547 * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment 14548 typo. 14549 145502016-01-14 Richard Henderson <rth@redhat.com> 14551 14552 PR c/69272 14553 PR tree-opt/68964 14554 * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size. 14555 * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p 14556 instead of builtin_decl_declared_p to test for declaration. 14557 145582016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com> 14559 14560 * doc/loop.texi (Loop Analysis and Representation): Document 14561 loop_depth function. 14562 145632016-01-14 Tom de Vries <tom@codesourcery.com> 14564 14565 PR tree-optimization/68773 14566 * omp-low.c (expand_omp_target): Don't set force_output. 14567 * varpool.c (varpool_node::get_create): Same. 14568 * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and 14569 offload_funcs with force_output. 14570 145712016-01-14 Jakub Jelinek <jakub@redhat.com> 14572 14573 PR debug/69244 14574 * lra-eliminations.c (move_plus_up): Don't change anything if either 14575 the outer or inner subreg mode is not MODE_INT. 14576 * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is 14577 integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards. 14578 145792016-01-14 Alan Lawrence <alan.lawrence@arm.com> 14580 14581 * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m}, 14582 reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m}, 14583 reduc_uplus_@var{m}): Remove. 14584 * expr.c (expand_expr_real_2): Remove expansion path for 14585 reduc_[us](min|max|plus) optabs. 14586 * optabs-tree.c (scalar_reduc_to_vector): Remove. 14587 * optabs-tree.h (scalar_reduc_to_vector): Remove. 14588 * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab, 14589 reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove. 14590 * tree-vect-loop.c (vectorizable_reduction): Remove test for 14591 reduc_[us](min|max|plus) optabs. 14592 145932016-01-14 Alan Lawrence <alan.lawrence@arm.com> 14594 14595 * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove. 14596 (reduc_plus_scal_v2sf): New. 14597 (reduc_smax_v2sf): Rename to... 14598 (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract. 14599 (reduc_smin_v2sf): Rename to... 14600 (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract. 14601 146022016-01-14 Jan Hubicka <hubicka@ucw.cz> 14603 14604 * alias.c (compare_base_symbol_refs): New function. 14605 (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use 14606 it. 14607 146082016-01-14 Jakub Jelinek <jakub@redhat.com> 14609 14610 PR middle-end/68146 14611 PR tree-optimization/69155 14612 * tree-complex.c: Include cfganal.h. 14613 (phis_to_revisit): New variable. 14614 (extract_component): Add phiarg_p argument. Assert that returned 14615 SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true. 14616 (update_phi_components): Partly rewrite to use loop over real/imag 14617 components instead of code duplication. If extract_component returns 14618 SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or 14619 create_tmp_reg into the PHI node instead, and mention the phi triplet 14620 in phis_to_revisit. 14621 (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded 14622 in phis_to_revisit at the end. 14623 146242016-01-14 Richard Biener <rguenther@suse.de> 14625 14626 PR tree-optimization/68060 14627 * tree-vect-loop.c (vect_is_simple_reduction): Check the 14628 outer loop reduction is only used in the inner loop before 14629 detecting a double reduction. 14630 146312016-01-14 Jakub Jelinek <jakub@redhat.com> 14632 14633 PR target/68269 14634 * combine.c (expand_field_assignment): Punt if compute_mode is 14635 unsupported scalar mode. 14636 146372016-01-14 Richard Biener <rguenther@suse.de> 14638 14639 PR tree-optimization/66856 14640 * tree-vect-slp.c (vect_build_slp_tree): Refactor to build 14641 SLP node only if it built successfully. 14642 (vect_analyze_slp_instance): Adjust. 14643 146442016-01-14 Jeff Law <law@redhat.com> 14645 14646 PR tree-optimization/69270 14647 * tree-ssa-dom.c (ssa_name_has_boolean_range): New function. 14648 (record_edge_info): Use it. Convert boolean_{true,false}_node 14649 to the type of op0. 14650 146512016-01-13 Jan Hubicka <hubicka@ucw.cz> 14652 14653 PR ipa/66487 14654 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): 14655 use block_ultimate_origin 14656 (noncall-stmt_may_be_vtbl_ptr_store): Likewise. 14657 146582016-01-13 Sandra Loosemore <sandra@codesourcery.com> 14659 14660 * doc/invoke.texi (Submodel Options): Rename section to 14661 "Machine-Dependent Options" to better reflect its content. 14662 Rewrite introductory text to remove archaic CPU names. 14663 Update references. 14664 146652016-01-13 Sandra Loosemore <sandra@codesourcery.com> 14666 14667 * doc/invoke.texi (Code Gen Options): Move section up in file, 14668 before target-specific options. Update menu and option summary 14669 to reflect the new section ordering. 14670 146712016-01-13 Jonathan Wakely <jwakely@redhat.com> 14672 14673 * doc/invoke.texi (C Dialect Options): Adjust -std default for C++. 14674 (C++ Dialect Options): Add cross-reference to -std option. 14675 * doc/standards.texi (C++ Language): Document C++14 support. 14676 146772016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com> 14678 14679 * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support 14680 for pack/unpack functions for __ibm128. 14681 (PACK_IF): Likewise. 14682 (UNPACK_IF): Likewise. 14683 14684 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add 14685 support for __ibm128 pack/unpack functions. 14686 (rs6000_invalid_builtin): Likewise. 14687 (rs6000_init_builtins): Likewise. 14688 (rs6000_opt_masks): Likewise. 14689 14690 * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name. 14691 (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack 14692 functions 14693 (RS6000_BTM_COMMON): Likewise. 14694 14695 * config/rs6000/rs6000.md (f128_vsx): New mode attribute. 14696 (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to 14697 disallow __builtin_{pack,unpack}_longdouble if long double is IEEE 14698 128-bit floating point. Add support for the double values to be 14699 in Altivec registers for TF/IF packing and unpacking, but restrict 14700 TD packing sub-fields to be FPR registers. Don't allow overlapped 14701 register support for packing. Allow pack inputs to be memory 14702 locations. Don't build generator functions for unpack<mode>_dm 14703 and unpack<mode>_nodm. 14704 (unpack<mode>_dm): Likewise. 14705 (unpack<mode>_nodm): Likewise. 14706 (pack<mode>): Likewise. 14707 14708 * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add 14709 built-in functions to pack/unpack explicit __ibm128 values. 14710 (__builtin_unpack_ibm128): Likewise. 14711 14712 * doc/extend.texi (PowerPC Built-in Functions): Document 14713 __builtin_pack_ibm128 and __builtin_unpack_ibm128. 14714 147152016-01-13 Bernd Schmidt <bschmidt@redhat.com> 14716 14717 PR c/66208 14718 * c-common.c (check_function_nonnull): Remove unnecessary declaration. 14719 Add new arg loc and pass it down as context. 14720 (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer 14721 to the location to use for the warning. 14722 (check_function_arguments): New arg loc. All callers changed. Pass 14723 it to check_function_nonnull. 14724 * c-common.h (check_function_arguments): Adjust declaration. 14725 147262016-01-13 Jakub Jelinek <jakub@redhat.com> 14727 14728 PR tree-optimization/69156 14729 * gimple.c (validate_type): Removed. 14730 (gimple_builtin_call_types_compatible_p): Use 14731 useless_type_conversion_p instead of validate_type. 14732 * value-prof.c (gimple_stringop_fixed_value): Fold 14733 icall_size to correct type. 14734 147352016-01-13 Jonathan Wakely <jwakely@redhat.com> 14736 14737 * doc/extend.texi (__atomic Builtins): Clarify compare_exchange 14738 effects. 14739 147402016-01-13 Richard Henderson <rth@redhat.com> 14741 14742 PR tree-opt/68964 14743 * target.def (builtin_tm_load, builtin_tm_store): Remove. 14744 * config/i386/i386.c (ix86_builtin_tm_load): Remove. 14745 (ix86_builtin_tm_store): Remove. 14746 (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove. 14747 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove. 14748 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove. 14749 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove. 14750 * doc/tm.texi: Rebuild. 14751 14752 * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New. 14753 (BUILT_IN_TM_MEMCPY_RTWN): New. 14754 * trans-mem.c (tm_log_emit_stmt): Rearrange code for better 14755 fallback from vector to integer helpers. 14756 (build_tm_load): Handle vector types directly, instead of 14757 via target hook. 14758 (build_tm_store): Likewise. 14759 (expand_assign_tm): Prepare for register types not handled by 14760 the above. Copy them to memory and use memcpy. 14761 * tree.c (tm_define_builtin): New. 14762 (find_tm_vector_type): New. 14763 (build_tm_vector_builtins): New. 14764 (build_common_builtin_nodes): Call it. 14765 147662016-01-13 Uros Bizjak <ubizjak@gmail.com> 14767 14768 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for 14769 TARGET_SSE_MATH without TARGET_SSE2. Rewrite. 14770 147712016-01-13 Tom de Vries <tom@codesourcery.com> 14772 14773 PR tree-optimization/69169 14774 * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle 14775 handled_struct_type param. 14776 (create_variable_info_for, intra_create_variable_infos): Call 14777 create_variable_info_for_1 with extra arg. 14778 147792016-01-13 Yvan Roux <yvan.roux@linaro.org> 14780 14781 * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a" 14782 and "armv8.1-a+crc" entries. 14783 147842016-01-13 Alexander Fomin <alexander.fomin@intel.com> 14785 14786 PR target/69228 14787 * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"): 14788 Change first operand predicate from register_or_constm1_operand 14789 to register_operand. 14790 (define_expand "avx512pf_gatherpf<mode>df"): Likewise. 14791 (define_expand "avx512pf_scatterpf<mode>sf"): Likewise. 14792 (define_expand "avx512pf_scatterpf<mode>df"): Likewise. 14793 (define_insn "*avx512pf_gatherpf<mode>sf"): Remove. 14794 (define_insn "*avx512pf_gatherpf<mode>df"): Likewise. 14795 (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise. 14796 (define_insn "*avx512pf_scatterpf<mode>df"): Likewise. 14797 * config/i386/i386.c (ix86_expand_builtin): Remove first operand 14798 comparison with constm1_rtx from vec_prefetch_gen part. 14799 148002016-01-13 Richard Biener <rguenther@suse.de> 14801 14802 PR tree-optimization/69013 14803 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): 14804 Exchange assert for a test. 14805 148062016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 14807 14808 PR target/69247 14809 * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg. 14810 148112016-01-13 Richard Biener <rguenther@suse.de> 14812 14813 PR tree-optimization/69242 14814 * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus 14815 assert with a check. 14816 148172016-01-13 Richard Biener <rguenther@suse.de> 14818 14819 PR tree-optimization/69186 14820 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): 14821 Properly guard vect_update_misalignment_for_peel call. 14822 148232016-01-12 Jeff Law <law@redhat.com> 14824 14825 PR tree-optimization/pr67755 14826 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field 14827 "need_profile_correction". 14828 (thread_block_1): Initialize new field to false by default. If we 14829 have multiple thread paths through a common joiner to different 14830 final targets, then set new field to true. 14831 (compute_path_counts): Only do count adjustment when it's really 14832 needed. 14833 148342016-01-12 Sandra Loosemore <sandra@codesourcery.com> 14835 14836 * doc/invoke.texi (Spec Files): Move section down in file, past 14837 all command-line option descriptions. 14838 148392016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> 14840 14841 PR middle-end/54809 14842 * doc/gty.texi: Remove documentation of mark_hook. 14843 * gengtype.c (struct write_types_data): Remove code to support 14844 mark_hook attribute. 14845 (walk_type): Likewise. 14846 (write_func_for_structure): Likewise. 14847 148482016-01-12 Sandra Loosemore <sandra@codesourcery.com> 14849 14850 * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to 14851 Directory Options, and -specs= to Overall Options. 14852 (Overall Options): Adjust similarly. Reorder to group related 14853 options together. Make -specs= cross-reference the spec file details. 14854 (Directory Options): Adjust similarly. 14855 148562016-01-12 Jeff Law <law@redhat.com> 14857 14858 * tree-ssa-threadupdate.c: Various whitespace and typo fixes. 14859 148602016-01-12 Olivier Hainque <hainque@adacore.com> 14861 14862 * gcc.c (spec_undefvar_allowed): New global. 14863 (process_command): Set to true when running for --version or --help, 14864 alone or together. 14865 (getenv_spec_function): When the variable is not defined, use the 14866 variable name as the variable value if we're allowed not to issue 14867 a fatal error. 14868 148692016-01-12 Bin Cheng <bin.cheng@arm.com> 14870 14871 PR tree-optimization/68911 14872 * tree-vrp.c (adjust_range_with_scev): Check overflow in range 14873 information computed for expression "init + nit * step". 14874 148752016-01-12 Sandra Loosemore <sandra@codesourcery.com> 14876 14877 * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information 14878 about name of GCC executable. Remove deleted node from menu. 14879 (Directory Options) <-B>: Remove cross-reference to deleted node. 14880 (Target Options): Delete section. 14881 148822016-01-12 Christian Bruel <christian.bruel@st.com> 14883 14884 PR target/69180 14885 * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL 14886 for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX. 14887 148882016-01-12 Jakub Jelinek <jakub@redhat.com> 14889 14890 PR target/69198 14891 * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure 14892 aligned_mem is properly set for AVX512-VL floating point masked 14893 stores. 14894 14895 PR target/69175 14896 * ifcvt.c (cond_exec_process_if_block): When removing the last 14897 insn from then_bb, remove also any possible barriers that follow it. 14898 148992016-01-12 H.J. Lu <hongjiu.lu@intel.com> 14900 14901 PR target/68456 14902 PR target/69226 14903 * config/i386/iamcu.h (SIZE_TYPE): New macro. 14904 (PTRDIFF_TYPE): Likewise. 14905 (WCHAR_TYPE): Likewise. 14906 (WCHAR_TYPE_SIZE): Likewise. 14907 (STDINT_LONG32): Likewise. 14908 149092016-01-12 Richard Biener <rguenther@suse.de> 14910 14911 PR tree-optimization/69053 14912 * tree-vect-loop.c (get_initial_def_for_reduction): Properly 14913 convert initial value for cond reductions. 14914 149152016-01-12 Richard Biener <rguenther@suse.de> 14916 14917 PR tree-optimization/69007 14918 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move 14919 widen_sum after dot_prod and sad. 14920 149212016-01-12 Richard Biener <rguenther@suse.de> 14922 14923 PR tree-optimization/69168 14924 * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and 14925 pattern stmt SLP type. 14926 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may 14927 end up unused so cope with that case. 14928 149292016-01-12 Richard Biener <rguenther@suse.de> 14930 14931 PR tree-optimization/69157 14932 * tree-vect-stmts.c (vectorizable_mask_load_store): Check 14933 stmts def type only during analyze phase. 14934 (vectorizable_call): Likewise. 14935 (vectorizable_simd_clone_call): Likewise. 14936 (vectorizable_conversion): Likewise. 14937 (vectorizable_assignment): Likewise. 14938 (vectorizable_shift): Likewise. 14939 (vectorizable_operation): Likewise. 14940 (vectorizable_store): Likewise. 14941 (vectorizable_load): Likewise. 14942 149432016-01-12 Richard Biener <rguenther@suse.de> 14944 14945 PR tree-optimization/69174 14946 * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical 14947 space. 14948 (vectorizable_load): Properly compute the number of loads needed 14949 for permuted strided SLP loads and do not spuriously assign 14950 to SLP_TREE_VEC_STMTS. 14951 149522016-01-12 Andris Pavenis <andris.pavenis@iki.fi> 14953 14954 * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2 14955 (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive 14956 (MD_EXEC_PREFIX): Remove. 14957 (MD_STARTFILE_PREFIX) Removee. 14958 (FILE_NAME_ABSOLUTE_P): Remove. 14959 (CPP_SPEC): Do not read macros from sys/version.h. 14960 (LINK_COMMAND_SPEC): Remove. 14961 (LOCAL_INCLUDE_DIR): Remove. 14962 (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section 14963 (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix. 14964 (POST_LINK_SPEC): Define to invoke stubify after linker 14965 (LIBSTDCXX): Remove define 14966 (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map. 14967 (DEFAULT_PCC_STRUCT_RETURN): Define to 1. 14968 (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210. 14969 (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message. 14970 (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info. 14971 (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove. 14972 (i386_djgpp_asm_named_section): Add propotype of new procedure 14973 14974 * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define. 14975 (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h). 14976 (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX 14977 in config/i386/djgpp.h). 14978 (STANDARD_STARTFILE_PREFIX_2): Define identical to 14979 STANDARD_STARTFILE_PREFIX_1. 14980 (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h). 14981 (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal 14982 installation errors. 14983 (MAX_OFILE_ALIGNMENT): Define to 128. 14984 (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h. 14985 14986 * config/i386/djgpp.c: New file. Add implementation of 14987 i386_djgpp_asm_named_section. 14988 14989 * config/i386/djgpp.opt: Remove obsolete option -mbnu210. 14990 14991 * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS. 14992 Add rule for building djgpp.o. 14993 149942016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 14995 14996 * config/rs6000/rs6000.c (v2df_reduction_p): New function. 14997 (rtx_is_swappable_p): Reductions are swappable. 14998 (insn_is_swappable_p): V2DF reductions are swappable. 14999 150002016-01-11 John David Anglin <danglin@gcc.gnu.org> 15001 15002 * config/pa/pa.c (pa_emit_move_sequence): Handle floating point 15003 reloads for other unsupported memory operands. 15004 150052016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org> 15006 Jim Wilson <jim.wilson@linaro.org> 15007 15008 PR target/69194 15009 * config/arm/arm-builtins.c (arm_expand_neon_args): Call 15010 copy_to_mode_reg instead of force_reg. 15011 150122016-01-11 H.J. Lu <hongjiu.lu@intel.com> 15013 15014 PR target/69225 15015 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if 15016 TARGET_80387 is true. 15017 150182016-01-11 Jakub Jelinek <jakub@redhat.com> 15019 15020 PR target/69071 15021 * lra-eliminations.c (move_plus_up): Only move plus up 15022 if subreg of the constant can be simplified into constant 15023 and use the simplified subreg of the constant instead of 15024 the original constant. 15025 15026 * fold-const.c (fold_convertible_p): Don't return true 15027 for conversion of VECTOR_TYPE to same sized integral type. 15028 (fold_convert_loc): Fix up formatting. Fold conversion of 15029 VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR 15030 instead of NOP_EXPR. 15031 15032 PR tree-optimization/69214 15033 * tree-vrp.c (simplify_cond_using_ranges): Don't propagate 15034 innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI. 15035 Formatting fix. 15036 15037 PR tree-optimization/69207 15038 * tree-vect-slp.c (vect_get_constant_vectors): For 15039 VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of 15040 fold_convertible_p to vector_type's element type, and always 15041 use VCE for non-VECTOR_BOOLEAN_TYPE_P. 15042 150432016-01-11 Richard Biener <rguenther@suse.de> 15044 15045 PR tree-optimization/69173 15046 * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only 15047 fixup the cycle if all stmts are in a pattern. 15048 150492016-01-11 Uros Bizjak <ubizjak@gmail.com> 15050 15051 PR middle-end/68999 15052 * alias.c (base_alias_check): Move check for addresses with 15053 alignment ANDs before the call for compare_base_decls. 15054 (memrefs_conflict_p): Return -1 for different decls 15055 that went through alignment adjustments. 15056 150572016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 15058 15059 PR rtl-optimization/68796 15060 * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern. 15061 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode 15062 and QImode comparisons against zero with CC_NZmode. 15063 * config/aarch64/iterators.md (short_mask): New mode_attr. 15064 150652016-01-11 H.J. Lu <hongjiu.lu@intel.com> 15066 15067 * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf. 15068 (<avx512>_store<mode>_mask): Likewise. 15069 150702016-01-11 Bernd Schmidt <bschmidt@redhat.com> 15071 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 15072 15073 PR rtl-optimization/68841 15074 * ifcvt.c (struct noce_if_info): Add orig_x field. 15075 (bbs_ok_for_cmove_arith): Add to_rename parameter. 15076 Don't record conflicts on to_rename if it's present. 15077 Allow memory destinations in sets. 15078 (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple 15079 blocks, passing orig_x to the checks. 15080 (noce_process_if_block): Set if_info->orig_x appropriately. 15081 150822016-01-11 Tom de Vries <tom@codesourcery.com> 15083 15084 PR tree-optimization/69069 15085 * tree-parloops.c (create_parallel_loop): Add missing phi args. 15086 150872016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com> 15088 15089 PR rtl-optimization/68920 15090 * config/i386/i386.c (ix86_option_override_internal): Restrict number 15091 of conditional moves for RTL if-conversion to 1 for 15092 TARGET_ONE_IF_CONV_INSN. 15093 * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros. 15094 * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros. 15095 * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new 15096 parameter to restirct number of conditional moves for 15097 RTL if-conversion. 15098 * doc/invoke.texi (max-rtl-if-conversion-insns): Document it. 15099 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of 15100 conditionl moves. 15101 151022016-01-11 Alexandre Oliva <aoliva@redhat.com> 15103 15104 PR bootstrap/69123 15105 * var-tracking.c (drop_overlapping_mem_locs): Operate on all 15106 onepart vars. Fix typo in comment. Fix reversed condition in 15107 unshare test. 15108 (dataflow_set_remove_mem_locs): Operate on all onepart vars. 15109 15110 PR bootstrap/69123 15111 * var-tracking.c (dump_onepart_variable_differences): New. 15112 (dataflow_set_different): If a detailed dump is requested, 15113 delay early returns and dump differences between onepart 15114 variables present before and after, and added variables. 15115 151162016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com> 15117 15118 PR target/69010 15119 * expr.c (expand_expr_real_1): For boolean vector constants 15120 with a scalar mode use const_scalar_mask_from_tree. 15121 (const_scalar_mask_from_tree): New. 15122 * optabs.c (expand_vec_cond_mask_expr): Use mask mode 15123 assigned to a mask type to handle constants. 15124 151252016-01-11 Martin Jambor <mjambor@suse.cz> 15126 15127 PR ipa/69044 15128 * ipa-cp.c (estimate_local_effects): Do not clone for removal of 15129 useless parameters if we cannot change function signature. 15130 151312016-01-11 Martin Jambor <mjambor@suse.cz> 15132 15133 PR ipa/66616 15134 * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature 15135 flag. 15136 151372016-01-11 Tom de Vries <tom@codesourcery.com> 15138 15139 PR tree-optimization/69109 15140 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow 15141 latch with phi. 15142 151432016-01-11 Tom de Vries <tom@codesourcery.com> 15144 15145 PR tree-optimization/69108 15146 * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi 15147 res is not used in a phi. 15148 151492016-01-11 Yury Gribov <y.gribov@samsung.com> 15150 15151 PR 67425 15152 * common.opt (frandom-seed): Fix parameter name. 15153 * doc/invoke.texi (frandom-seed): Ditto and describe parameter. 15154 151552016-01-11 Tom de Vries <tom@codesourcery.com> 15156 15157 PR tree-optimization/69058 15158 * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp 15159 not supported. 15160 151612016-01-11 Andrew Burgess <andrew.burgess@embecosm.com> 15162 15163 * config/arc/arc.opt (mdiv-rem): Add period to the end. 15164 (mcode-density): Likewise. 15165 151662016-01-10 Tom de Vries <tom@codesourcery.com> 15167 15168 PR tree-optimization/69062 15169 * tree-parloops.c (loop_has_phi_with_address_arg): New function. 15170 (parallelize_loops): Don't paralelize loop that has phi with address 15171 arg. 15172 151732016-01-10 Tom de Vries <tom@codesourcery.com> 15174 15175 PR tree-optimization/69039 15176 * tree-parloops.c (try_create_reduction_list): Only allow single exit 15177 phi for reduction. 15178 151792016-01-09 John David Anglin <danglin@gcc.gnu.org> 15180 15181 PR middle-end/68743 15182 * match.pd: Require target has function_c99_misc before doing 15183 truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc. 15184 151852016-01-09 Gerald Pfeifer <gerald@pfeifer.com> 15186 15187 * configure.ac (isl_options_set_schedule_serialize_sccs): Also 15188 use GMPINC. 15189 * configure: Regenerate. 15190 151912016-01-09 Jakub Jelinek <jakub@redhat.com> 15192 15193 PR middle-end/50865 15194 PR tree-optimization/69097 15195 * fold-const.h (expr_not_equal_to): New prototype. 15196 * fold-const.c: Include stringpool.h and tree-ssanames.h. 15197 (expr_not_equal_to): New function. 15198 * match.pd (X % -Y is the same as X % Y): Don't optimize 15199 unless X is known not to be equal to minimum or Y is known 15200 not to be equal to -1. 15201 * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument. 15202 fold TRUNC_MOD_EXPR if the second argument is not a power of two. 15203 (simplify_stmt_using_ranges): Adjust caller. 15204 (vrp_finalize): Call set_value_range on SSA_NAMEs before calling 15205 substitute_and_fold. 15206 152072016-01-09 Jan Hubicka <hubicka@ucw.cz> 15208 15209 * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL 15210 w/o DECL_NAME. 15211 152122016-01-08 Jakub Jelinek <jakub@redhat.com> 15213 15214 PR tree-optimization/69167 15215 * gimple-fold.c (replace_stmt_with_simplification): Also punt if 15216 new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of 15217 ops[0] comparison. 15218 * gimple-match-head.c (maybe_push_res_to_seq): Likewise. 15219 152202016-01-08 Alan Lawrence <alan.lawrence@arm.com> 15221 Richard Biener <rguenther@suse.de> 15222 15223 PR tree-optimization/68707 15224 * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP 15225 instances that can be handled via vect_load_lanes. 15226 152272016-01-08 Uros Bizjak <ubizjak@gmail.com> 15228 15229 * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2 15230 if we can't determine address equivalence. 15231 * alias.c (compare_base_decl): Update for changed return value of 15232 symtab_node::equal_address_to. 15233 152342016-01-08 Jason Merrill <jason@redhat.com> 15235 15236 PR c++/68983 15237 PR c++/67557 15238 * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here. 15239 * expr.c (store_field): Not here. 15240 * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a 15241 call with TREE_ADDRESSABLE type. 15242 * tree-cfg.c (verify_gimple_call): Adjust. 15243 152442016-01-08 Olivier Hainque <hainque@adacore.com> 15245 15246 * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with 15247 libc_internal. 15248 152492016-01-08 Alan Lawrence <alan.lawrence@arm.com> 15250 15251 * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to... 15252 (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element. 15253 (reduc_smin_v2sf): Rename to... 15254 (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element. 15255 (reduc_splus_v2sf): Rename to... 15256 (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element. 15257 152582016-01-08 Jakub Jelinek <jakub@redhat.com> 15259 15260 PR tree-optimization/69162 15261 * gimplify.c (gimplify_va_arg_expr): Encode original type of 15262 valist argument in another argument. 15263 (gimplify_modify_expr): Adjust for the above change. Cleanup. 15264 * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument 15265 to determine the va_list type, build a MEM_REF instead of 15266 build_fold_indirect_ref. 15267 15268 PR tree-optimization/69172 15269 * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to 15270 gimple_build. 15271 152722016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com> 15273 15274 PR tree-optimization/67781 15275 * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg 15276 and cmpnop in two steps: first the ones not accessed in original 15277 gimple expression in a endian independent way and then the ones not 15278 accessed in the final result in an endian-specific way. 15279 152802016-01-08 Jakub Jelinek <jakub@redhat.com> 15281 15282 PR tree-optimization/69083 15283 * tree-vect-slp.c (vect_get_constant_vectors): For 15284 VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's 15285 element type. If op is fold_convertible_p to vector_type's element 15286 type, use NOP_EXPR instead of VCE. 15287 152882016-01-08 Segher Boessenkool <segher@kernel.crashing.org> 15289 15290 PR rtl-optimization/67778 15291 PR rtl-optimization/68634 15292 PR rtl-optimization/68909 15293 * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop 15294 block from the stack until done with it. Remove a superfluous 15295 bitmap set. Remove a superfluous bitmap test. 15296 152972016-01-07 Martin Sebor <msebor@redhat.com> 15298 15299 PR c/68966 15300 * doc/extend.texi (__atomic Builtins, __sync Builtins): Document 15301 constraint on the type of arguments. 15302 153032016-01-07 Andreas Tobler <andreast@gcc.gnu.org> 15304 15305 * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to 15306 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check 15307 unaligned_access on the gcc_options set. 15308 * config/arm/arm.c (arm_option_override_internal): Use 15309 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. 15310 153112016-01-07 Uros Bizjak <ubizjak@gmail.com> 15312 15313 PR target/69140 15314 * config/i386/i386.c (ix86_frame_pointer_required): Enable 15315 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned. 15316 153172016-01-07 Uros Bizjak <ubizjak@gmail.com> 15318 15319 Revert 15320 2016-01-06 Uros Bizjak <ubizjak@gmail.com> 15321 15322 PR target/69140 15323 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid 15324 depending on frame_pointer_needed before remaining integer and SSE 15325 registers are saved. 15326 153272016-01-07 Sandra Loosemore <sandra@codesourcery.com> 15328 15329 PR 1078 15330 * doc/extend.texi (Nvidia PDX Function Attributes): New section. 15331 153322016-01-07 H.J. Lu <hongjiu.lu@intel.com> 15333 15334 PR target/69171 15335 * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>): 15336 Use the "xBm" constraint. 15337 (float<sseintvecmodelower><mode>2<mask_name><round_name): 15338 Likewise. 15339 (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate. 15340 (sse_cvtsi2ssq<round_name>): Likewise. 15341 (sse_cvtss2si<round_name>): Likewise. 15342 (sse_cvtss2siq<round_name>): Likewise. 15343 (sse2_cvtsi2sdq<round_name>): Likewise. 15344 (sse2_cvtsd2si<round_name>): Likewise. 15345 (sse2_cvtsd2siq<round_name>): Likewise. 15346 * config/i386/subst.md (round_nimm_scalar_predicate): New 15347 predicate. 15348 153492015-12-15 Bernd Schmidt <bschmidt@redhat.com> 15350 15351 PR middle-end/67639 15352 * varasm.c (make_decl_rtl): Mark invalid register vars as 15353 DECL_EXTERNAL. 15354 15355 PR rtl-optimization/66206 15356 * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx. 15357 All callers changed. 15358 153592016-01-07 Jakub Jelinek <jakub@redhat.com> 15360 15361 PR tree-optimization/69141 15362 * tree-ssa-pre.c: Include langhooks.h. 15363 (eliminate_dom_walker::before_dom_children): Use 15364 lang_hooks.decl_printable_name instead of 15365 cgraph_node::get ()->name (). 15366 15367 PR middle-end/68960 15368 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy 15369 it and DECL_ALIGN too. 15370 153712016-01-06 Robert Suchanek <robert.suchanek@imgtec.com> 15372 15373 * config/mips/mips-ftypes.def: Sort to lexicographical order. 15374 153752016-01-06 Uros Bizjak <ubizjak@gmail.com> 15376 15377 PR target/69140 15378 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid 15379 depending on frame_pointer_needed before remaining integer and SSE 15380 registers are saved. 15381 153822015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 15383 15384 * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M 15385 mode iterator with VSX_M2. 15386 (*p9_vecstore_<mode>): Likewise. 15387 (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR. 15388 (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise. 15389 (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise. 15390 (define_split for VSX_LE128 stores): Likewise. 15391 (define_peephole2 for TImode LE swaps): Likewise. 15392 (define_split for VSX_LE128 post-reload stores): Likewise. 15393 153942016-01-06 Marek Polacek <polacek@redhat.com> 15395 15396 PR sanitizer/69099 15397 * convert.c (convert_to_integer_1): Adjust call to 15398 ubsan_instrument_float_cast. Use NULL_TREE instead of NULL. 15399 * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use 15400 EXPR instead of ARG. 15401 * ubsan.h (ubsan_instrument_float_cast): Adjust declaration. 15402 154032016-01-05 Sandra Loosemore <sandra@codesourcery.com> 15404 15405 PR 1078 15406 * doc/extend.texi (RL78 Variable Attributes): New section. 15407 154082016-01-05 Marek Polacek <polacek@redhat.com> 15409 15410 PR c/69104 15411 * builtins.c (get_memmodel): Use expansion point location rather than 15412 the input location. Call warning_at rather than warning. 15413 (expand_builtin_atomic_compare_exchange): Likewise. 15414 (expand_builtin_atomic_load): Likewise. 15415 (expand_builtin_atomic_store): Likewise. 15416 (expand_builtin_atomic_clear): Likewise. 15417 154182016-01-05 H.J. Lu <hongjiu.lu@intel.com> 15419 15420 PR target/68991 15421 * config/i386/i386.c (ix86_expand_vector_logical_operator): 15422 Replace nonimmediate_operand with vector_operand. 15423 * config/i386/predicates.md (vector_operand): New predicate. 15424 (general_vector_operand): Replace nonimmediate_operand with 15425 vector_operand. 15426 * config/i386/sse.md: Replace nonimmediate_operand with 15427 vector_operand and m constraint with Bm constraint on SSE 15428 patterns with 16-byte memory operand. 15429 * config/i386/subst.md (round_nimm_predicate): Replace 15430 nonimmediate_operand with vector_operand. 15431 (round_saeonly_nimm_predicate): Likewise. 15432 (round_saeonly_nimm_scalar_predicate): New. 15433 154342016-01-05 H.J. Lu <hongjiu.lu@intel.com> 15435 15436 PR target/68991 15437 * config/i386/constraints.md (Bm): New constraint. 15438 * config/i386/predicates.md (vector_memory_operand): New 15439 predicate. 15440 * config/i386/sse.md: Replace xm with xBm in plusminus and 15441 any_logic patterns. 15442 154432016-01-05 Sandra Loosemore <sandra@codesourcery.com> 15444 15445 PR 1078 15446 * doc/extend.texi (V850 Function Attributes): New section. 15447 (V850 Variable Attributes): New section. 15448 154492016-01-05 Sandra Loosemore <sandra@codesourcery.com> 15450 15451 PR 1078 15452 * doc/extend.texi (MicroBlaze Function Attributes): Document 15453 interrupt_handler and fast_interrupt attributes. 15454 154552016-01-05 Sergei Trofimovich <siarheit@google.com> 15456 15457 PR other/60465 15458 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64 15459 for local symbolic operands. 15460 * config/ia64/predicates.md (local_symbolic_operand64): New 15461 predicate. 15462 154632016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 15464 15465 PR rtl-optimization/68651 15466 * combine.c (combine_simplify_rtx): Canonicalize x + x into 15467 x << 1. 15468 154692016-01-05 Nathan Sidwell <nathan@acm.org> 15470 15471 * alias.c (compare_base_decls): Use symtab_node::get. 15472 154732016-01-05 Nick Clifton <nickc@redhat.com> 15474 15475 PR target/68770 15476 * ira-costs.c (copy_cost): Initialise the t_icode field of the 15477 secondary_reload_info structure. 15478 15479 PR target/66655 15480 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak 15481 decls if weak support is available. 15482 154832016-01-04 Martin Sebor <msebor@redhat.com> 15484 15485 * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model. 15486 154872016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com> 15488 15489 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add 15490 OPTION_MASK_P9_DFORM. 15491 15492 * config/rs6000/constraints.md (wo constraint): New constraint for 15493 ISA 3.0 (power9). 15494 15495 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support 15496 for wo constraint. 15497 (rs6000_init_hard_regno_mode_ok): Likewise. 15498 15499 * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for 15500 wo constraint. 15501 15502 * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm 15503 expanders not to have constraints. Add support for ISA 3.0 xxperm 15504 instruction. Add support for fusing xxlor with xxperm. 15505 (altivec_vperm_<mode>_internal): Likewise. 15506 (altivec_vperm_v8hiv16qi): Likewise. 15507 (altivec_vperm_<mode>v16q): Likewise. 15508 (altivec_vperm_<mode>_uns): Likewise. 15509 (vperm_v8hiv4si): Likewise. 15510 (vperm_v16qiv8hi): Likewise. 15511 15512 * doc/md.texi (RS/6000 constraints): Document wo constraint. 15513 155142016-01-04 Jakub Jelinek <jakub@redhat.com> 15515 15516 Update copyright years. 15517 15518 * gcc.c (process_command): Update copyright notice dates. 15519 * gcov-dump.c (print_version): Ditto. 15520 * gcov.c (print_version): Ditto. 15521 * gcov-tool.c (print_version): Ditto. 15522 * gengtype.c (create_file): Ditto. 15523 * doc/cpp.texi: Bump @copying's copyright year. 15524 * doc/cppinternals.texi: Ditto. 15525 * doc/gcc.texi: Ditto. 15526 * doc/gccint.texi: Ditto. 15527 * doc/gcov.texi: Ditto. 15528 * doc/install.texi: Ditto. 15529 * doc/invoke.texi: Ditto. 15530 155312016-01-04 Eric Botcazou <ebotcazou@adacore.com> 15532 15533 * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer 15534 modes larger than TImode as TImode if NEON is not enabled. 15535 155362016-01-04 Eric Botcazou <ebotcazou@adacore.com> 15537 15538 PR target/69100 15539 * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit 15540 mode for %f0-%f31 only if TARGET_FPU. 15541 155422016-01-04 Eric Botcazou <ebotcazou@adacore.com> 15543 15544 PR target/69072 15545 * config/sparc/sparc.c (scan_record_type): Take into account subfields 15546 to compute the PACKED_P predicate. 15547 (function_arg_record_value): Minor tweaks. 15548 155492016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com> 15550 15551 * doc/install.texi (--with-multilib-list): Describe the meaning of the 15552 option for arm*-*-* targets. 15553 155542016-01-03 Sandra Loosemore <sandra@codesourcery.com> 15555 15556 * doc/extend.texi (Common Function Attributes): Move docs for 15557 MSP430-specific attributes to.... 15558 (MSP430 Function Attributes): ...here. Delete the redundant 15559 entries and copy-edit the remaining text. 15560 (MSP430 Variable Attributes): Use uniform format for index 15561 entries and add a cross-reference to the corresponding function 15562 attribute docs. 15563 155642016-01-03 Vladimír Čunát <vcunat@gmail.com> 15565 15566 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix 15567 -finite-math typo. 15568 (x86 Options): Likewise. 15569 155702016-01-01 Sandra Loosemore <sandra@codesourcery.com> 15571 15572 PR 1078 15573 15574 * extend.texi (Common Function Attributes) <no_stack_limit>: New. 15575 * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer 15576 to corresponding attribute. 15577 155782016-01-01 Sandra Loosemore <sandra@codesourcery.com> 15579 15580 * doc/extend.texi (Common Function Attributes) <noplt>: Move 15581 to correct alphabetization of table. Copy-edit and correct 15582 markup. 15583 <stack_protect>: Likewise. 15584 <target_clones>: Likewise. 15585 <simd>: Likewise. 15586 * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>: 15587 Correct punctuation. 15588 (Code Gen Options) <-fno-plt>: Copy-edit. 15589 155902016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de> 15591 15592 PR target/68917 15593 * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of 15594 SI values. Explicitly convert SI to DI and vice-versa. 15595 155962016-01-01 Jakub Jelinek <jakub@redhat.com> 15597 15598 PR tree-optimization/69070 15599 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test 15600 REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST. 15601 15602 PR sanitizer/69055 15603 * ubsan.c (ubsan_instrument_float_cast): Call 15604 initialize_sanitizer_builtins. 15605 15606 PR target/69015 15607 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump). 15608 15609Copyright (C) 2016 Free Software Foundation, Inc. 15610 15611Copying and distribution of this file, with or without modification, 15612are permitted in any medium without royalty provided the copyright 15613notice and this notice are preserved. 15614