12016-06-03 Release Manager 2 3 * GCC 5.4.0 released. 4 52016-05-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 6 7 PR target/68696 8 * config/aarch64/aarch64-simd.md (*aarch64_simd_bsl<mode>_alt): 9 New pattern. 10 (aarch64_simd_bsl<mode>_internal): Update comment to reflect 11 the above. 12 132016-05-25 Jakub Jelinek <jakub@redhat.com> 14 15 * config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define. 16 * config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES 17 rather than X86_TUNE_AVOID_4BYTE_PREFIXES. Use SSE_REGS instead 18 of ALL_SSE_REGS. Return SSE_REGS also when TARGET_AVX. 19 202016-05-23 Richard Biener <rguenther@suse.de> 21 22 Backport from mainline 23 2016-02-11 Alexandre Oliva <aoliva@redhat.com> 24 25 PR target/69634 26 * regstat.c (regstat_bb_compute_calls_crossed): Disregard 27 debug insns. 28 29 2015-10-30 Richard Biener <rguenther@suse.de> 30 31 PR middle-end/68142 32 * fold-const.c (extract_muldiv_1): Avoid introducing undefined 33 overflow. 34 35 2016-03-24 Richard Henderson <rth@redhat.com> 36 37 PR middle-end/69845 38 * fold-const.c (extract_muldiv_1): Correct test for multiplication 39 overflow. 40 412016-05-23 Richard Biener <rguenther@suse.de> 42 43 Backport from mainline 44 2015-12-11 Segher Boessenkool <segher@kernel.crashing.org> 45 46 PR rtl-optimization/68814 47 * rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of 48 BYTES_BIG_ENDIAN. 49 50 2016-01-12 Jan Hubicka <hubicka@ucw.cz> 51 52 PR lto/69003 53 * lto-partition.c (rename_statics): Fix pasto. 54 55 2016-01-13 Jan Hubicka <hubicka@ucw.cz> 56 57 PR ipa/66487 58 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): 59 use block_ultimate_origin 60 (noncall-stmt_may_be_vtbl_ptr_store): Likewise. 61 62 2016-01-21 Roman Zhuykov <zhroma@ispras.ru> 63 64 PR target/69252 65 * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new 66 first stage. 67 682016-05-21 Iain Sandoe <iain@codesourcery.com> 69 Dominique d'Humieres <dominiq@lps.ens.fr> 70 71 Backport from mainline 72 2015-12-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 73 74 PR target/67973 75 * configure.ac (gcc_cv_as_stabs_directive): New test. 76 * configure: Regenerate. 77 * config.in: Regenerate. 78 * config/darwin.h (DBX_DEBUGGING_INFO): Wrap in 79 HAVE_AS_STABS_DIRECTIVE. 80 (PREFERRED_DEBUGGING_TYPE): Likewise. 81 * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Only include 82 DBX_DEBUG if HAVE_AS_STABS_DIRECTIVE. 83 84 * doc/sourcebuild.texi (Effective-Target Keywords, Environment 85 attributes): Document stabs. 86 872016-05-21 Chung-Lin Tang <cltang@codesourcery.com> 88 89 Backport from mainline 90 2015-06-29 Sandra Loosemore <sandra@codesourcery.com> 91 92 * config/nios2/nios2.c (nios2_delegitimize_address): Make 93 assert less restrictive. 94 952016-05-20 Eric Botcazou <ebotcazou@adacore.com> 96 97 * config/arm/arm.c (arm_expand_prologue): Set the stack usage to 0 98 for naked functions. 99 (thumb1_expand_prologue): Likewise. 100 1012016-05-20 Uros Bizjak <ubizjak@gmail.com> 102 103 * sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also 104 force pending loads from memory. 105 1062016-05-20 Richard Biener <rguenther@suse.de> 107 108 Backport from mainline 109 2016-03-02 Richard Biener <rguenther@suse.de> 110 111 PR middle-end/67278 112 * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case. 113 114 2016-03-02 Richard Biener <rguenther@suse.de> 115 Uros Bizjak <ubizjak@gmail.com> 116 117 PR target/67278 118 * config/i386/i386.c (type_natural_mode): Handle XFmode vectors. 119 1202016-05-20 Richard Biener <rguenther@suse.de> 121 122 Backport from mainline 123 2016-02-29 Richard Biener <rguenther@suse.de> 124 125 PR tree-optimization/69720 126 * tree-vect-loop.c (get_initial_def_for_reduction): Avoid 127 the adjustment_def path for possibly vectorized defs. 128 (vect_create_epilog_for_reduction): Handle vectorized initial 129 defs properly. 130 1312016-05-20 Richard Biener <rguenther@suse.de> 132 133 Backport from mainline 134 2016-02-01 Bin Cheng <bin.cheng@arm.com> 135 136 PR tree-optimization/67921 137 * fold-const.c (split_tree): New parameters. Convert pointer 138 type variable part to proper type before negating. 139 (fold_binary_loc): Pass new arguments to split_tree. 140 141 2016-05-06 Richard Biener <rguenther@suse.de> 142 143 PR middle-end/70941 144 * fold-const.c (split_tree): Always convert to the original type 145 before negating. 146 147 2016-05-06 Richard Biener <rguenther@suse.de> 148 149 PR middle-end/70931 150 * dwarf2out.c (native_encode_initializer): Skip zero-sized fields. 151 152 2016-04-14 Richard Biener <rguenther@suse.de> 153 154 PR tree-optimization/70623 155 * tree-ssa-pre.c (changed_blocks): Make global ... 156 (compute_antic): ... local here. Move and fix worklist 157 handling here. Do not clear EDGE_DFS_BACK. 158 (compute_antic_aux): Add dumping for MAX assumed succs. Remove 159 worklist handling, dump when ANTIC_IN changed. 160 (compute_partial_antic_aux): Remove worklist handling. 161 (init_pre): Do not compute post dominators. Add a comment about 162 the CFG order chosen. 163 (fini_pre): Do not free post dominators. 164 165 2016-04-25 Richard Biener <rguenther@suse.de> 166 167 PR tree-optimization/70780 168 * tree-ssa-pre.c (compute_antic_aux): Also return true if the block 169 wasn't visited yet. 170 (compute_antic): Mark blocks with abnormal preds as visited as 171 they have a final empty antic-in solution already. 172 1732016-05-19 Martin Jambor <mjambor@suse.cz> 174 175 PR ipa/70646 176 * ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early 177 if parameter PARAM_IPA_MAX_AGG_ITEMS is zero. 178 1792016-05-19 Martin Jambor <mjambor@suse.cz> 180 181 PR ipa/70646 182 * ipa-inline.h (condition): New field size. 183 * ipa-inline-analysis.c (add_condition): New parameter SIZE, use it 184 for comaprison and store it into the new condition. 185 (evaluate_conditions_for_known_args): Use condition size to check 186 access sizes for all but CHANGED conditions. 187 (unmodified_parm_1): New parameter size_p, store access size into it. 188 (unmodified_parm): Likewise. 189 (unmodified_parm_or_parm_agg_item): Likewise. 190 (eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p. 191 (set_cond_stmt_execution_predicate): Extract access sizes and store 192 them to conditions. 193 (set_switch_stmt_execution_predicate): Likewise. 194 (will_be_nonconstant_expr_predicate): Likewise. 195 (will_be_nonconstant_predicate): Likewise. 196 (inline_read_section): Stream condition size. 197 (inline_write_summary): Likewise. 198 * lto-streamer.h (LTO_minor_version): Bump. 199 2002016-05-19 Richard Sandiford <richard.sandiford@arm.com> 201 2022016-01-26 Richard Sandiford <richard.sandiford@arm.com> 203 204 PR tree-optimization/69400 205 * wide-int.cc (wi_pack): Take the precision as argument and 206 perform canonicalization here rather than in the callers. 207 Use the main loop to handle all full-width HWIs. Add a 208 zero HWI if in_len isn't a full result. 209 (wi::divmod_internal): Update accordingly. 210 (wi::mul_internal): Likewise. Simplify. 211 2122016-05-18 Uros Bizjak <ubizjak@gmail.com> 213 214 PR target/71145 215 * config/alpha/alpha.md (trap): Add (use (reg:DI 29)). 216 (*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS. 217 2182016-05-18 Jakub Jelinek <jakub@redhat.com> 219 220 PR c++/70353 221 * tree-inline.c (remap_decls): Don't add_local_decl if 222 cfun is null. 223 2242016-05-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 225 226 Backport from mainline 227 2016-05-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 228 229 PR target/70809 230 * config/aarch64/aarch64-simd.md (aarch64_vmls<mode>): Delete. 231 2322016-05-17 Jim Wilson <jim.wilson@linaro.org> 233 234 Partial backport from trunk r228017. 235 2015-09-22 Jason Merrill <jason@redhat.com> 236 237 PR c++/70613 238 * doc/invoke.texi (-fabi-version): Document version 9. 239 (-Wabi): Document version 9. Mention version 8 is default for GCC 5.1. 240 2412016-05-12 Martin Liska <mliska@suse.cz> 242 243 Backport from mainline 244 2016-05-10 Martin Liska <mliska@suse.cz> 245 246 * tree-inline.c (remap_dependence_clique): Do not remap 247 debugging statements. 248 2492016-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 250 251 Backport from mainline 252 2016-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 253 254 PR target/70963 255 * config/rs6000/vsx.md (vsx_xvcvdpsxds_scale): Generate correct 256 code for a zero scale factor. 257 (vsx_xvcvdpuxds_scale): Likewise. 258 2592016-05-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 260 261 Backport from mainline 262 2016-05-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 263 264 * config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly") 265 ("*fixuns_truncdfdi2_z13") 266 ("*fixuns_trunc<FP:mode><GPR:mode>2_z196") 267 ("*fix_truncdfdi2_bfp_z13", "*floatunsdidf2_z13") 268 ("*extendsfdf2_z13"): Replace TARGET_Z13 with TARGET_VX. 269 2702016-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de> 271 272 Backport from mainline 273 2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de> 274 275 * config/rtems.h (LIB_SPEC): Add -latomic. 276 2772016-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de> 278 279 Backport from mainline 280 2016-04-27 Joel Sherrill <joel@rtems.org> 281 282 * config/microblaze/rtems.h: Redefine LINK_SPEC to avoid 283 xilink.ld and flags not relevant to RTEMS. 284 2852016-05-02 Richard Biener <rguenther@suse.de> 286 287 Backport from mainline 288 2016-04-05 Richard Biener <rguenther@suse.de> 289 290 PR tree-optimization/70526 291 * tree-sra.c (build_ref_for_offset): Use prev_base to 292 extract the alias pointer type. 293 2942016-04-28 Jakub Jelinek <jakub@redhat.com> 295 296 PR target/70858 297 * config/i386/i386.c (bdesc_special_args): Add | OPTION_MASK_ISA_64BIT 298 to __builtin_ia32_lwpval64 and __builtin_ia32_lwpins64. 299 (bdesc_args): Add | OPTION_MASK_ISA_64BIT to __builtin_ia32_bextr_u64, 300 __builtin_ia32_bextri_u64, __builtin_ia32_bzhi_di, 301 __builtin_ia32_pdep_di and __builtin_ia32_pext_di. 302 3032016-04-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 304 305 Backport from mainline 306 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 307 308 PR driver/70132 309 * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic 310 to not call fclose twice on file. 311 3122016-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com> 313 314 Backport from mainline 315 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com> 316 317 * config/arm/arm.c (thumb1_reorg): Check that the comparison is 318 against the constant 0. 319 3202016-04-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 321 322 Backport from mainline 323 2016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 324 325 * config/rs6000/rs6000-builtin.def: Correct pasto error for 326 stxvd2x and stxvw4x built-in functions. 327 3282016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 329 330 Backport from mainline 331 2016-03-14 Segher Boessenkool <segher@kernel.crashing.org> 332 333 PR target/70098 334 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, 335 *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output. 336 (define_split for the GPR case): Use int_reg_operand instead of 337 gpc_reg_operand for the output. 338 3392016-04-22 H.J. Lu <hongjiu.lu@intel.com> 340 341 Backport from mainline 342 2016-04-20 H.J. Lu <hongjiu.lu@intel.com> 343 344 * doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup. 345 3462016-04-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 347 348 PR target/70674 349 * config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new 350 stack_restore_from_fpr pattern when restoring r15. 351 (s390_optimize_prologue): Strip away the memory barrier in the 352 parallel when trying to get rid of restore insns. 353 * config/s390/s390.md ("stack_restore_from_fpr"): New insn 354 definition for loading the stack pointer from an FPR. Compared to 355 the normal move insn this pattern includes a full memory barrier. 356 3572016-04-15 Kirill Yukhin <kirill.yukhin@intel.com> 358 359 PR target/70662 360 * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"): 361 Fix mode size check. 362 3632016-04-15 Kirill Yukhin <kirill.yukhin@intel.com> 364 365 PR target/70662 366 * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"): 367 Use proper memory operand modifiers. 368 3692016-04-14 Nick Clifton <nickc@redhat.com> 370 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 371 372 PR target/70044 373 * config/aarch64/aarch64.c 374 (aarch64_override_options_after_change): When forcing 375 flag_omit_frame_pointer to be true, use a special value that can 376 be detected if this function is called again, thus preventing 377 flag_omit_leaf_frame_pointer from being forced to be false. 378 3792016-04-12 Eric Botcazou <ebotcazou@adacore.com> 380 381 PR target/70630 382 * config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses. 383 3842016-04-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 385 386 Backport from mainline 387 2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 388 389 PR target/70566 390 * config/arm/thumb2.md (tst + branch-> lsls + branch 391 peephole below *orsi_not_shiftsi_si): Require that condition 392 register is dead after the peephole. 393 (second peephole after the above): Likewise. 394 3952016-04-11 Alan Modra <amodra@gmail.com> 396 397 PR target/70117 398 * builtins.c (fold_builtin_classify): For IBM extended precision, 399 look at just the high-order double to test for NaN. 400 (fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal 401 test just the high double for Inf but both doubles for subnormal 402 limit. 403 4042016-04-09 Oleg Endo <olegendo@gcc.gnu.org> 405 406 Backport from mainline 407 2016-04-03 Oleg Endo <olegendo@gcc.gnu.org> 408 409 PR target/70416 410 PR target/67391 411 * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is 412 set, but not for SP_REG operands. 413 4142016-04-06 Uros Bizjak <ubizjak@gmail.com> 415 416 * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes. 417 (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes. 418 4192016-04-06 Richard Biener <rguenther@suse.de> 420 421 Backport from mainline 422 2016-03-11 Jakub Jelinek <jakub@redhat.com> 423 424 PR tree-optimization/70177 425 * gimple-expr.h (extract_ops_from_tree_1): Renamed to ... 426 (extract_ops_from_tree): ... this. In the 2 argument 427 overload remove _1 suffix. 428 * gimple-expr.c (extract_ops_from_tree_1): Renamed to ... 429 (extract_ops_from_tree): ... this. 430 * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree): 431 Adjust callers. 432 * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise. 433 * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand 434 extract_ops_from_tree instead of 2 operand one. 435 4362016-04-06 Richard Biener <rguenther@suse.de> 437 438 Backport from mainline 439 2016-02-24 Richard Biener <rguenther@suse.de> 440 Jakub Jelinek <jakub@redhat.com> 441 442 PR middle-end/69760 443 * tree-scalar-evolution.c (interpret_rhs_expr): Re-write 444 conditionally executed ops to well-defined overflow behavior. 445 446 2016-03-01 Richard Biener <rguenther@suse.de> 447 448 PR tree-optimization/69983 449 * tree-chrec.c (eq_evolutions_p): Handle conversions, compare 450 types and fall back to operand_equal_p. 451 4522016-04-06 Richard Biener <rguenther@suse.de> 453 454 Backport from mainline 455 2016-02-24 Richard Biener <rguenther@suse.de> 456 457 PR middle-end/68963 458 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix 459 bogus check. 460 (record_nonwrapping_iv): Do not fall back to the low/high bound 461 for non-constant IV bases if the stmt is not always executed. 462 4632016-04-06 Richard Biener <rguenther@suse.de> 464 465 Backport from mainline 466 2016-03-01 Richard Biener <rguenther@suse.de> 467 468 PR middle-end/70022 469 * fold-const.c (fold_indirect_ref_1): Fix range checking for 470 vector BIT_FIELD_REF extract. 471 472 2016-03-07 Richard Biener <rguenther@suse.de> 473 474 PR tree-optimization/70115 475 * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove. 476 (propagate_constants_for_unrolling): Use replace_uses_by. 477 478 2016-03-29 Richard Biener <rguenther@suse.de> 479 480 PR middle-end/70424 481 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always 482 use alignment returned by get_pointer_alignment_1 if it is 483 bigger than BITS_PER_UNIT. 484 * builtins.c (get_pointer_alignment_1): Do not return true 485 for alignment extracted from SSA info. 486 4872016-04-06 Richard Biener <rguenther@suse.de> 488 489 Backport from mainline 490 2016-03-30 Richard Biener <rguenther@suse.de> 491 492 PR middle-end/70450 493 * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from 494 usage. 495 496 2016-03-22 Richard Biener <rguenther@suse.de> 497 498 PR middle-end/70333 499 * fold-const.c (extract_muldiv_1): Properly perform multiplication 500 in the wide type. 501 502 2016-04-04 Richard Biener <rguenther@suse.de> 503 504 PR rtl-optimization/70484 505 * rtl.h (canon_output_dependence): Declare. 506 * alias.c (canon_output_dependence): New function. 507 * dse.c (record_store): Use canon_output_dependence rather 508 than canon_true_dependence. 509 5102016-04-05 John David Anglin <danglin@gcc.gnu.org> 511 512 * config/pa/predicates.md (integer_store_memory_operand): Accept 513 REG+D operands with a large offset when reload_in_progress is true. 514 (floating_point_store_memory_operand): Likewise. 515 5162016-04-05 Uros Bizjak <ubizjak@gmail.com> 517 518 Backport from mainline 519 2015-12-08 Kirill Yukhin <kirill.yukhin@intel.com> 520 521 * config/i386/sse.md (define_insn "<avx512>_vec_dup<mode>_1"): Fix 522 assembler to make source always 128bit. 523 5242016-04-05 Uros Bizjak <ubizjak@gmail.com> 525 526 PR target/70510 527 * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes. 528 5292016-04-05 Jakub Jelinek <jakub@redhat.com> 530 531 PR target/70525 532 * config/i386/sse.md (*andnot<mode>3): Simplify assertions. 533 Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for 534 V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting. 535 (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator. 536 5372016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 538 Jakub Jelinek <jakub@redhat.com> 539 540 PR middle-end/70457 541 * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p 542 to ensure a call statement is compatible with a built-in's 543 prototype. 544 * tree-ssa-math-opts.c (execute_cse_sincos_1): Likewise. 545 (pass_cse_sincos::execute): Likewise. 546 (pass_optimize_widening_mul::execute): Likewise. 547 5482016-01-04 Christophe Lyon <christophe.lyon@linaro.org> 549 550 Backport from mainline 551 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 552 553 PR rtl-optimization/68236 554 * haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0 555 if insn_queue doesn't exist. 556 (haifa_sched_finish): Reset insn_queue to NULL. 557 5582016-04-01 James Greenhalgh <james.greenhalgh@arm.com> 559 560 Backport from mainline 561 2016-01-26 Roger Ferrer Ib����ez <rofirrim@gmail.com> 562 563 PR target/67896 564 * config/aarch64/aarch64-builtins.c 565 (aarch64_init_simd_builtin_types): Do not set structural 566 equality to __Poly{8,16,64,128}_t types. 567 5682016-03-31 Nathan Sidwell <nathan@acm.org> 569 570 PR c++/70393 571 * varasm.c (output_constructor_regular_field): Flush bitfield 572 earlier. Assert we don't want to move backwards. 573 5742016-03-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 575 576 * config/arm/sync.md (arm_atomic_loaddi2_ldrd): Fix output template 577 for non-unified syntax. 578 5792016-03-31 Kirill Yukhin <kirill.yukhin@intel.com> 580 581 PR target/70453 582 * config/i386/sse.md (define_mode_attr shuffletype): Fix typo. 583 5842016-03-31 Andrey Belevantsev <abel@ispras.ru> 585 586 Backport from mainline 587 2016-03-12 Andrey Belevantsev <abel@ispras.ru> 588 589 PR rtl-optimization/69307 590 * sel-sched.c (choose_best_pseudo_reg): Properly check for hard 591 registers in modes that span more than one register. 592 5932016-03-31 Andrey Belevantsev <abel@ispras.ru> 594 595 Backport from mainline 596 2016-03-21 Andrey Belevantsev <abel@ispras.ru> 597 598 PR rtl-optimization/69102 599 * sched-deps.c (sched_analyze_insn): Do not set last_args_size field 600 when we have a readonly dependency context. 601 6022016-03-31 Andrey Belevantsev <abel@ispras.ru> 603 604 Backport from mainline 605 2016-03-15 Andrey Belevantsev <abel@ispras.ru> 606 607 PR rtl-optimization/69032 608 * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when 609 looping backwards over basic block insns. 610 6112016-03-31 Andrey Belevantsev <abel@ispras.ru> 612 613 Backport from mainline 614 2016-03-15 Andrey Belevantsev <abel@ispras.ru> 615 616 PR target/66660 617 * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern 618 to non-speculative when propagating trap bits. 619 6202016-03-31 Andrey Belevantsev <abel@ispras.ru> 621 622 Backport from mainline 623 2016-03-15 Andrey Belevantsev <abel@ispras.ru> 624 625 PR target/64411 626 * sched-deps.c (get_implicit_reg_pending_clobbers): New function, 627 factored out from ... 628 (sched_analyze_insn): ... here. 629 * sched-int.h (get_implicit_reg_pending_clobbers): Declare it. 630 * sel-sched-ir.c (setup_id_implicit_regs): New function, use 631 get_implicit_reg_pending_clobbers in it. 632 (setup_id_reg_sets): Use setup_id_implicit_regs. 633 (deps_init_id): Ditto. 634 6352016-03-31 Jakub Jelinek <jakub@redhat.com> 636 637 PR rtl-optimization/70460 638 * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF 639 with operand from REG_LABEL_OPERAND, instead substitute 640 SET_SRC or REG_EQUAL note content if it is a LABEL_REF. 641 Don't do anything for REG_NON_LOCAL_GOTO jumps. 642 6432016-03-31 Alan Modra <amodra@gmail.com> 644 645 Backport from mainline 646 2016-02-16 Alan Modra <amodra@gmail.com> 647 PR target/68973 648 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter. 649 (p8_mtvsrd_df, p8_mtvsrd_sf): New. 650 (p8_mtvsrd_1, p8_mtvsrd_2): Delete. 651 (p8_mtvsrwz): New. 652 (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete. 653 (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF. 654 (p8_fmrgow_<mode>): Likewise. 655 (reload_vsx_from_gpr<mode>): Adjust for above. Use "wa" for 656 clobber constraint. 657 (reload_fpr_from_gpr<mode>): Adjust for above. Use "d" for 658 op0 constraint. 659 (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting 660 to use movdi_internal64. Remove op0_di. 661 * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode. 662 6632016-03-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 664 665 Backport from mainline 666 2016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com> 667 668 PR target/69917 669 * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow 670 transparent alias chain for decl assembler name. 671 * config/sol2.c (solaris_assemble_visibility): Likewise. 672 6732016-03-30 Vladimir Makarov <vmakarov@redhat.com> 674 675 Backported from the mainline 676 2016-03-12 Vladimir Makarov <vmakarov@redhat.com> 677 678 PR target/69614 679 * lra-constraints.c (delete_move_and_clobber): New. 680 (remove_inheritance_pseudos): Use it. 681 6822016-03-30 Jakub Jelinek <jakub@redhat.com> 683 684 PR target/70421 685 * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order 686 in gen_blendm expander. 687 688 Backported from mainline 689 2016-03-29 Jakub Jelinek <jakub@redhat.com> 690 691 PR rtl-optimization/70429 692 * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize 693 (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if 694 mode != result_mode. 695 696 2016-03-22 Jakub Jelinek <jakub@redhat.com> 697 698 PR target/70329 699 * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing 700 d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i] 701 in a way that works also for AVX512BW. 702 703 2016-03-21 Jakub Jelinek <jakub@redhat.com> 704 705 PR target/70296 706 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is 707 function-like macro, peek following token(s) if it is followed 708 by CPP_OPEN_PAREN token with optional padding in between, and 709 if not, don't treat it like a macro. 710 711 2016-03-15 Jakub Jelinek <jakub@redhat.com> 712 713 PR rtl-optimization/70222 714 * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT 715 optimization if mode is different from result_mode, queue up masking 716 of the result in outer_op. Formatting fix. 717 718 2016-03-11 Jakub Jelinek <jakub@redhat.com> 719 720 PR tree-optimization/70169 721 * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and 722 LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable 723 for unknown codes. 724 725 2016-03-09 Jakub Jelinek <jakub@redhat.com> 726 727 PR tree-optimization/70152 728 * tree-sra.c (replace_removed_params_ssa_names): Copy over 729 SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name. 730 731 2016-03-04 Jakub Jelinek <jakub@redhat.com> 732 733 PR target/70062 734 * config/i386/i386.c (decide_alg): Add RECUR argument. Revert 735 2016-02-22 changes, instead don't recurse if RECUR is already true. 736 Don't change *dynamic_check if RECUR. Adjust recursive caller 737 to pass true to the new argument. 738 (ix86_expand_set_or_movmem): Adjust decide_alg caller. 739 740 2016-02-22 Jakub Jelinek <jakub@redhat.com> 741 742 PR target/69888 743 * config/i386/i386.c (decide_alg): Ensure we don't recurse with 744 identical arguments. Formatting and spelling fixes. 745 746 2016-03-02 Jakub Jelinek <jakub@redhat.com> 747 748 PR target/70028 749 * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative. 750 (*movhi_internal): Put mask moves from and to memory separately 751 from moves from/to GPRs. 752 753 2016-02-26 Jakub Jelinek <jakub@redhat.com> 754 755 PR target/69969 756 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't 757 complain about -mallow-movmisalign without -mvsx if 758 TARGET_ALLOW_MOVMISALIGN was not set explicitly. 759 760 2016-02-26 Jakub Jelinek <jakub@redhat.com> 761 Eric Botcazou <ebotcazou@adacore.com> 762 763 PR rtl-optimization/69891 764 * dse.c (scan_insn): If we can't figure out memset arguments 765 or they are non-constant, call clear_rhs_from_active_local_stores. 766 767 2016-02-24 Jakub Jelinek <jakub@redhat.com> 768 769 PR debug/69705 770 * dwarf2out.c (gen_variable_die): Work around buggy LTO 771 - allow NULL decl for Fortran DW_TAG_common_block variables. 772 773 2016-02-19 Jakub Jelinek <jakub@redhat.com> 774 775 PR middle-end/69838 776 * lra.c (lra_process_new_insns): If non-call exceptions are enabled, 777 call copy_reg_eh_region_note_forward on before and/or after sequences 778 and remove note from insn if it no longer can throw. 779 780 2016-02-16 Jakub Jelinek <jakub@redhat.com> 781 782 PR tree-optimization/69802 783 * tree-ssa-reassoc.c (update_range_test): If op is 784 SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive 785 op == 1 test of precision 1 integral op, otherwise handle 786 that case as op itself. Fix up formatting. 787 (optimize_range_tests_to_bit_test, optimize_range_tests): Fix 788 up formatting. 789 790 PR rtl-optimization/69764 791 PR rtl-optimization/69771 792 * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT 793 op1 is valid for GET_MODE_INNER (mode) and force it into a reg. 794 795 2016-02-12 Jakub Jelinek <jakub@redhat.com> 796 797 PR rtl-optimization/69764 798 PR rtl-optimization/69771 799 * optabs.c (expand_binop_directly): For shift_optab_p, force 800 convert_modes with VOIDmode if xop1 has VOIDmode. 801 802 PR ipa/68672 803 * ipa-split.c (split_function): Compute retval early in all cases 804 if split_part_return_p and return_bb is not EXIT. Remove all 805 clobber stmts and reset all debug stmts that refer to SSA_NAMEs 806 defined in split part, except if it is retval, in that case replace 807 the old retval with the lhs of the call to the split part. 808 8092016-03-30 Alan Modra <amodra@gmail.com> 810 811 PR target/70052 812 * config/rs6000/constraints.md (j): Simplify. 813 * config/rs6000/predicates.md (easy_fp_constant): Exclude 814 decimal float 0.D. 815 * config/rs6000/rs6000.md (zero_fp): New mode_attr. 816 (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64, 817 mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j 818 in all constraint alternatives. 819 (movtd_64bit_nodm): Delete "j" constraint alternative. 820 8212016-03-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 822 823 PR target/69875 824 * config/arm/arm.h (TARGET_HAVE_LPAE): Define. 825 * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value. 826 * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern. 827 (atomic_loaddi_1): Delete. 828 (atomic_loaddi): Rewrite expander using the above changes. 829 8302016-03-28 Kirill Yukhin <kirill.yukhin@intel.com> 831 832 PR target/70406 833 * config/i386/i386.md (define_split, andn): Fix modes. 834 8352016-03-24 John David Anglin <danglin@gcc.gnu.org> 836 837 PR target/70319 838 * config/pa/pa.md (bswapdi2): Use a scratch register. 839 8402016-03-22 Martin Liska <mliska@suse.cz> 841 842 backport from trunk: 843 844 2016-03-21 Martin Liska <mliska@suse.cz> 845 846 PR ipa/70306 847 * ipa-icf.c (sem_function::parse): Skip static 848 constructors and destructors. 849 8502016-03-22 Kirill Yukhin <kirill.yukhin@intel.com> 851 852 PR target/70325 853 * config/i386/i386.c (def_builtin): Handle 854 OPTION_MASK_ISA_AVX512VL to be and-ed with other bits. 855 (const struct builtin_description bdesc_special_args[]): 856 Remove duplicate ISA bits. 857 8582016-03-21 Uros Bizjak <ubizjak@gmail.com> 859 860 PR target/70327 861 * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead 862 of ix86_expand_move. 863 (movoi): Ditto. 864 (movti): Use general_operand for operand 1 predicate. 865 8662016-03-21 Tom de Vries <tom@codesourcery.com> 867 868 backport from trunk: 869 PR ipa/70269 870 2016-03-18 Tom de Vries <tom@codesourcery.com> 871 872 * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save. 873 8742016-03-21 Tom de Vries <tom@codesourcery.com> 875 876 backport from trunk: 877 2016-03-18 Tom de Vries <tom@codesourcery.com> 878 879 PR ipa/70161 880 * cgraph.c (cgraph_node::get_body): Save, reset and restore 881 dump_file_name. 882 * passes.c (execute_one_ipa_transform_pass): Add missing argument to 883 execute_function_dump. 884 (execute_one_pass): Don't dump function if it will be dumped after ipa 885 transform. 886 8872016-03-21 Kirill Yukhin <kirill.yukhin@intel.com> 888 889 PR target/70293 890 * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2): 891 Block third alternative for AVX-512VL target, 892 8932016-03-17 John David Anglin <danglin@gcc.gnu.org> 894 895 PR target/70188 896 * config/pa/constraints.md: Revert 2015-02-13 change. Use 897 define_constraint for "Q" and "T" constraints. 898 8992016-03-16 Alan Modra <amodra@gmail.com> 900 901 PR rtl-optimization/69195 902 PR rtl-optimization/47992 903 * ira.c (indirect_jump_optimize): Ignore artificial defs. 904 Add comments. 905 9062016-03-15 Bernd Schmidt <bschmidt@redhat.com> 907 908 Backport from mainline 909 2016-03-04 Bernd Schmidt <bschmidt@redhat.com> 910 911 PR rtl-optimization/69941 912 * postreload.c (reload_combine_recognize_pattern): Ensure all uses of 913 the reg share its mode. 914 9152016-03-14 Michael Meissner <meissner@linux.vnet.ibm.com> 916 917 Backport from mainline 918 2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com> 919 920 PR target/70131 921 * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the 922 optimization if we have direct move. 923 (roundu32<mode>2_fprs): Likewise. 924 9252016-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 926 927 Backport from mainline 928 2016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 929 930 PR target/62281 931 * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define. 932 9332016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 934 935 PR target/70168 936 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): 937 Handle overlapping retval and newval. 938 9392016-03-10 Alan Modra <amodra@gmail.com> 940 941 PR rtl-optimization/69195 942 PR rtl-optimization/47992 943 * ira.c (recorded_label_ref): Delete. 944 (update_equiv_regs): Return void. 945 (indirect_jump_optimize): New function. 946 (ira): Call indirect_jump_optimize and delete_trivially_dead_insns 947 before regstat_compute_ri. Don't rebuild_jump_labels here. 948 9492016-03-07 Martin Jambor <mjambor@suse.cz> 950 951 PR tree-optimization/69666 952 PR middle-end/69920 953 * tree-sra.c (sra_modify_assign): Do not attempt to create 954 default_def replacements for unscalarizable regions. Do not 955 remove loads of uninitialized aggregates to SSA_NAMEs. 956 9572016-03-07 Christophe Lyon <christophe.lyon@linaro.org> 958 959 Backport from mainline 960 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 961 962 PR target/65932 963 PR target/67714 964 * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract 965 the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx. 966 9672016-03-04 Jakub Jelinek <jakub@redhat.com> 968 969 PR target/70059 970 * config/i386/sse.md (vec_set_lo_<mode><mask_name>, 971 <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting 972 fixes. 973 (vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands. 974 9752016-03-03 Andre Vieira <andre.simoesdiasvieira@arm.com> 976 977 Backport from mainline 978 2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com> 979 980 * targhooks.c (default_target_option_pragma_parse): Do not warn if 981 called on behalf of "#pragma GCC pop_options". 982 9832016-03-01 Eric Botcazou <ebotcazou@adacore.com> 984 985 PR rtl-optimization/70007 986 * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory 987 references present in REG_EQUAL notes attached to non-SET patterns. 988 9892016-02-27 Jeff Law <law@redhat.com> 990 991 Revert 992 2016-02-26 Richard Biener <rguenther@suse.de> 993 Jeff Law <law@redhat.com> 994 995 Backport from mainline 996 2016-02-26 Richard Biener <rguenther@suse.de> 997 Jeff Law <law@redhat.com> 998 999 PR tree-optimization/69740 1000 * cfghooks.c (remove_edge): Request loop fixups if we delete 1001 an edge that might turn an irreducible loop into a natural 1002 loop. 1003 10042016-02-26 Richard Biener <rguenther@suse.de> 1005 Jeff Law <law@redhat.com> 1006 1007 Backport from mainline 1008 2016-02-26 Richard Biener <rguenther@suse.de> 1009 Jeff Law <law@redhat.com> 1010 1011 PR tree-optimization/69740 1012 * cfghooks.c (remove_edge): Request loop fixups if we delete 1013 an edge that might turn an irreducible loop into a natural 1014 loop. 1015 10162016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1017 1018 Backport from mainline 1019 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1020 1021 * config/s390/vector.md: Add missing commutative operand markers 1022 to the patterns which qualify for one. 1023 * config/s390/vx-builtins.md: Likewise. 1024 10252016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1026 1027 Backport from mainline 1028 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1029 1030 * config/s390/vector.md (VI, VI_QHS): Add single element vector 1031 types to mode iterators. 1032 (vec_double): ... and mode attribute. 1033 * config/s390/vx-builtins.md (non_vec_int): Likewise. 1034 10352016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1036 1037 Backport from mainline 1038 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1039 1040 * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"): 1041 Change the predicate of op2 from nonimmediate to general and let 1042 reload fix it if necessary. 1043 10442016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1045 1046 Backport from mainline 1047 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1048 1049 * config/s390/vecintrin.h (vec_sub_u128): Define missing macro. 1050 10512016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1052 1053 Backport from mainline 1054 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1055 1056 * config/s390/s390.c (s390_expand_vcond): Use the compare operand 1057 mode. 1058 10592016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1060 1061 Backport from mainline 1062 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1063 1064 * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype. 1065 * config/s390/s390.c (s390_expand_vec_movstr): New function. 1066 * config/s390/s390.md ("movstr<P:mode>"): Call 1067 s390_expand_vec_movstr. 1068 10692016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1070 1071 Backport from mainline 1072 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1073 1074 * config/s390/s390.md: Add missing output modifier for operand 1 1075 to print it as address properly. 1076 10772016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1078 1079 Backport from mainline 1080 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1081 1082 * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*. 1083 * config/s390/2964.md: New file. 1084 * config/s390/s390.c (s390_get_sched_attrmask): Use the right set 1085 of insn grouping attributes depending on the CPU level. 1086 (s390_get_unit_mask): New function. 1087 (s390_sched_score): Remove the OOO from the scheduling macros. 1088 Add loop to calculate a score for the instruction mix. 1089 (s390_sched_reorder): Likewise plus improve debug output. 1090 (s390_sched_variable_issue): Rename macros as above. Calculate 1091 the unit distances after actually scheduling an insn. Improve 1092 debug output. 1093 (s390_sched_init): Clear last_scheduled_unit_distance array. 1094 * config/s390/s390.md: Include 2964.md. 1095 10962016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1097 1098 Backport from mainline 1099 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1100 1101 * config/s390/s390.c (s390_register_info_set_ranges): Remove 1102 superfluous loops. 1103 11042016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1105 1106 Backport from mainline 1107 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1108 1109 * config/s390/s390.c (s390_emit_call): Add missing 64 bit check. 1110 11112016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1112 1113 Backport from mainline 1114 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1115 1116 PR target/69625 1117 * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New 1118 defines. 1119 (s390_register_info_gprtofpr): Use new macros above. 1120 (s390_register_info_stdarg_fpr): Adjust max_fpr to better match 1121 its name. 1122 (s390_register_info_stdarg_gpr): Adjust max_gpr to better match 1123 its name. Adjust restore and save gpr ranges. 1124 (s390_register_info_set_ranges): New function. 1125 (s390_register_info): Use new macros above. Call 1126 s390_register_info_set_ranges. 1127 (s390_optimize_register_info): Likewise. 1128 (s390_hard_regno_rename_ok): Use new macros. 1129 (s390_hard_regno_scratch_ok): Likewise. 1130 (s390_emit_epilogue): Likewise. 1131 (s390_can_use_return_insn): Likewise. 1132 (s390_optimize_prologue): Likewise. 1133 * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants. 1134 11352016-02-25 Dominik Vogt <vogt@linux.vnet.ibm.com> 1136 1137 Backport from mainline 1138 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com> 1139 1140 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format 1141 declaration name with %qs and print it in both error messages. Also 1142 fix indentation. 1143 11442016-02-25 Dominik Vogt <vogt@linux.vnet.ibm.com> 1145 1146 Backport from mainline 1147 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com> 1148 1149 PR other/69006 1150 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove 1151 trailing blank line from error message. 1152 11532016-02-25 Robin Dapp <rdapp@linux.vnet.ibm.com> 1154 1155 Backport from mainline 1156 2015-12-18 Robin Dapp <rdapp@linux.vnet.ibm.com> 1157 1158 * config/s390/predicates.md: Change and rename 1159 constm1_operand to all_ones_operand 1160 * config/s390/s390.c (s390_expand_vcond): Use all_ones_operand 1161 * config/s390/vector.md: Likewise 1162 11632016-02-25 Richard Biener <rguenther@suse.de> 1164 1165 Backport from mainline 1166 2016-02-15 Richard Biener <rguenther@suse.de> 1167 1168 PR tree-optimization/69776 1169 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype. 1170 * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to 1171 indicate whether we can use TBAA to disambiguate against stores. 1172 Use alias-set zero if not. 1173 (visit_reference_op_store): Do not use TBAA when looking up 1174 redundant stores. 1175 * tree-ssa-pre.c (compute_avail): Use TBAA here. 1176 (eliminate_dom_walker::before_dom_children): But not when looking 1177 up redundant stores. 1178 1179 2016-02-16 Richard Biener <rguenther@suse.de> 1180 1181 PR tree-optimization/69776 1182 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias 1183 sets from caller. 1184 (indirect_refs_may_alias_p): Likewise. 1185 (refs_may_alias_p_1): Pass alias sets as from ao_ref. 1186 * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set 1187 according to tbaa_p. 1188 * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag. 1189 (optimize_stmt): For redundant store discovery do not allow tbaa. 1190 11912016-02-24 Martin Jambor <mjambor@suse.cz> 1192 1193 revert: 1194 2016-02-23 Martin Jambor <mjambor@suse.cz> 1195 1196 PR tree-optimization/69666 1197 * tree-sra.c (sra_modify_assign): Do not attempt to create 1198 default_def replacements for unscalarizable regions. 1199 12002016-02-24 Richard Biener <rguenther@suse.de> 1201 1202 Backport from mainline 1203 2016-02-17 Richard Biener <rguenther@suse.de> 1204 1205 PR rtl-optimization/69609 1206 * bb-reorder.c (struct bbro_basic_block_data): Add priority member. 1207 (find_traces_1_round): When ending a trace update cached priority 1208 of successors. 1209 (bb_to_key): Use cached priority when available. 1210 (copy_bb): Initialize cached priority. 1211 (reorder_basic_blocks_software_trace_cache): Likewise. 1212 1213 2016-02-08 Richard Biener <rguenther@suse.de> 1214 1215 PR tree-optimization/69719 1216 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): 1217 Properly use absolute of the difference of the two offsets to 1218 compare or adjust the segment length. 1219 1220 2016-02-10 Richard Biener <rguenther@suse.de> 1221 1222 PR tree-optimization/69719 1223 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): 1224 Adjust previous fix by ensuring that dr_a1 is left of dr_a2. 1225 1226 2016-02-15 Richard Biener <rguenther@suse.de> 1227 1228 PR tree-optimization/69783 1229 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): 1230 Add trivially correct cases. 1231 12322016-02-23 Martin Jambor <mjambor@suse.cz> 1233 1234 PR tree-optimization/69666 1235 * tree-sra.c (sra_modify_assign): Do not attempt to create 1236 default_def replacements for unscalarizable regions. 1237 12382016-02-18 Bernd Schmidt <bschmidt@redhat.com> 1239 1240 Backport from mainline 1241 2016-02-15 Bernd Schmidt <bschmidt@redhat.com> 1242 1243 PR rtl-optimization/69648 1244 * lra-constraints.c (update_ebb_live_info): Don't remove sets of 1245 pic_offset_table_rtx. 1246 12472016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1248 1249 Backport from mainline 1250 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1251 1252 * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output 1253 correct instruction. 1254 12552016-02-16 Bernd Schmidt <bschmidt@redhat.com> 1256 1257 Backport from mainline 1258 2016-02-15 Bernd Schmidt <bschmidt@redhat.com> 1259 1260 PR rtl-optimization/69752 1261 * ira.c (update_equiv_regs): When looking for more than a single SET, 1262 also take other side effects into account. 1263 1264 Backport from mainline 1265 2016-02-08 Bernd Schmidt <bschmidt@redhat.com> 1266 1267 PR rtl-optimization/68730 1268 * lra-remat.c (insn_to_cand_activation): New static variable. 1269 (lra_remat): Allocate and free it. 1270 (create_cand): New arg activation. Initialize a field in 1271 insn_to_cand_activation if it is nonnull. 1272 (create_cands): Pass the activation insn to create_cand when making 1273 a candidate involving an output reload. Reorganize code a little. 1274 (do_remat): Keep track of active status of candidates in a separate 1275 bitmap. 1276 1277 Backport from mainline 1278 2016-02-16 Bernd Schmidt <bschmidt@redhat.com> 1279 1280 PR tree-optimization/69714 1281 * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change. 1282 Return NULL if we have irrelevant high bytes on BIG_ENDIAN. 1283 12842016-02-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1285 1286 Backport from trunk: 1287 2016-02-04 Jim Wilson <jim.wilson@linaro.org> 1288 1289 PR target/65932 1290 PR target/67714 1291 * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and 1292 HImode. 1293 12942016-02-16 Tom de Vries <tom@codesourcery.com> 1295 1296 backport from trunk: 1297 PR lto/67709 1298 2016-02-16 Tom de Vries <tom@codesourcery.com> 1299 1300 * omp-low.c (simd_clone_create): Remove call to 1301 symtab->call_cgraph_insertion_hooks. 1302 13032016-02-16 Tom de Vries <tom@codesourcery.com> 1304 1305 backport from trunk: 1306 2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com> 1307 1308 * omp-low.c (simd_clone_create): Set in_other_partition 1309 for created clones. 1310 13112016-02-15 John David Anglin <danglin@gcc.gnu.org> 1312 1313 Backport from mainline 1314 * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New. 1315 13162016-02-13 Oleg Endo <olegendo@gcc.gnu.org> 1317 1318 Backport from mainline 1319 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org> 1320 1321 PR target/67260 1322 * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with 1323 fixed R1_REG scratch reg. 1324 13252016-02-12 Segher Boessenkool <segher@kernel.crashing.org> 1326 1327 Backport from mainline 1328 2016-02-11 Segher Boessenkool <segher@kernel.crashing.org> 1329 1330 PR rtl-optimization/64682 1331 PR rtl-optimization/69567 1332 PR rtl-optimization/69737 1333 * combine.c (distribute_notes) <REG_DEAD>: If the register is set 1334 in I2 as well, just lose it. 1335 13362016-02-11 Richard Biener <rguenther@suse.de> 1337 1338 Backport from mainline 1339 2016-01-18 Richard Biener <rguenther@suse.de> 1340 1341 PR middle-end/69308 1342 * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND. 1343 1344 2016-02-01 Richard Biener <rguenther@suse.de> 1345 1346 PR tree-optimization/69574 1347 * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead 1348 of asserting return chrec_dont_know. 1349 1350 2016-02-01 Richard Biener <rguenther@suse.de> 1351 1352 PR tree-optimization/69579 1353 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): 1354 Do not propagate through abnormal PHI results. 1355 1356 2016-02-02 Richard Biener <rguenther@suse.de> 1357 1358 PR tree-optimization/69606 1359 * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive 1360 info on the result before moving a stmt. 1361 1362 2016-02-09 Richard Biener <rguenther@suse.de> 1363 1364 PR tree-optimization/69715 1365 * tree-ssa.c (execute_update_addresses_taken): Mark non-decl 1366 LHS on calls as non-rewritable. 1367 13682016-02-11 Oleg Endo <olegendo@gcc.gnu.org> 1369 1370 Backport from mainline 1371 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org> 1372 1373 PR target/69713 1374 * config/sh/sh.md (casesi_worker_0): Add T_REG use. 1375 13762016-02-10 Jakub Jelinek <jakub@redhat.com> 1377 1378 Backported from mainline 1379 2016-01-30 Jakub Jelinek <jakub@redhat.com> 1380 1381 PR tree-optimization/69546 1382 * wide-int.cc (wi::divmod_internal): For unsigned division 1383 where both operands fit into uhwi, if o1 is 1 and o0 has 1384 msb set, if divident_prec is larger than bits per hwi, 1385 clear another quotient word and return 2 instead of 1. 1386 Similarly for remainder with msb in HWI set, if dividend_prec 1387 is larger than bits per hwi. 1388 1389 2016-01-27 Jakub Jelinek <jakub@redhat.com> 1390 1391 PR tree-optimization/69399 1392 * wide-int.h (wi::lrshift): For larger precisions, only 1393 use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT. 1394 1395 2016-01-22 Jakub Jelinek <jakub@redhat.com> 1396 1397 PR target/69432 1398 * config/i386/i386.c: Include dojump.h. 1399 (expand_small_movmem_or_setmem, 1400 expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling 1401 fixes. 1402 (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early 1403 if dynamic_check != -1. 1404 1405 2016-01-21 Stefan S��rensen <stefan.sorensen@spectralink.com> 1406 Jakub Jelinek <jakub@redhat.com> 1407 1408 PR target/69187 1409 PR target/65624 1410 * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase 1411 args array size by one to avoid buffer overflow. 1412 1413 2016-01-21 Jakub Jelinek <jakub@redhat.com> 1414 1415 PR middle-end/67653 1416 * gimplify.c (gimplify_asm_expr): Warn if it is too late to 1417 attempt to mark memory input operand addressable and 1418 call prepare_gimple_addressable in that case. Don't adjust 1419 input_location for diagnostics, use error_at instead. 1420 1421 2016-01-19 Jakub Jelinek <jakub@redhat.com> 1422 1423 PR debug/65779 1424 * shrink-wrap.c: Include valtrack.h. 1425 (move_insn_for_shrink_wrap): Add DEBUG argument. If 1426 MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs 1427 in between insn and where it will be moved to. Call 1428 dead_debug_insert_temp. 1429 (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init 1430 first and dead_debug_local_finish at the end. 1431 For uses and defs bitmap, handle all regs in between REGNO and 1432 END_REGNO, not just the first one. 1433 1434 PR rtl-optimization/68955 1435 PR rtl-optimization/64557 1436 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr 1437 here. Fix up formatting. 1438 * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P. 1439 1440 2016-01-14 Jakub Jelinek <jakub@redhat.com> 1441 1442 PR target/68269 1443 * combine.c (expand_field_assignment): Punt if compute_mode is 1444 unsupported scalar mode. 1445 1446 2016-01-11 Jakub Jelinek <jakub@redhat.com> 1447 1448 PR tree-optimization/69214 1449 * tree-vrp.c (simplify_cond_using_ranges): Don't propagate 1450 innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI. 1451 Formatting fix. 1452 1453 2016-01-07 Jakub Jelinek <jakub@redhat.com> 1454 1455 PR middle-end/68960 1456 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy 1457 it and DECL_ALIGN too. 1458 1459 2016-01-01 Jakub Jelinek <jakub@redhat.com> 1460 1461 PR sanitizer/69055 1462 * ubsan.c (ubsan_instrument_float_cast): Call 1463 initialize_sanitizer_builtins. 1464 1465 PR target/69015 1466 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump). 1467 1468 2015-12-22 Jakub Jelinek <jakub@redhat.com> 1469 1470 PR c++/67376 1471 * fold-const.c (size_low_cst): Removed. 1472 (fold_comparison): For POINTER_PLUS_EXPR where base is ADDR_EXPR 1473 call get_inner_reference and handle INDIRECT_REF base of it. Use 1474 offset_int for computation of the bitpos. 1475 (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Formatting 1476 fixes for X +- Y CMP X and C - X CMP X folding. Add X CMP X +- Y 1477 and X CMP C - X folding. 1478 14792016-02-09 Bernd Schmidt <bschmidt@redhat.com> 1480 1481 PR middle-end/65702 1482 * varasm.c (make_decl_rtl): Mark invalid register vars as 1483 DECL_EXTERNAL. 1484 14852016-02-04 Segher Boessenkool <segher@kernel.crashing.org> 1486 1487 Backport from mainline 1488 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org> 1489 1490 PR rtl-optimization/64682 1491 PR rtl-optimization/69567 1492 * combine.c (distribute_notes) <REG_DEAD>: Place the death note 1493 before I2 only if the register is both used and set in I2. 1494 14952016-02-04 Jakub Jelinek <jakub@redhat.com> 1496 1497 Backported from mainline 1498 2016-02-03 Jakub Jelinek <jakub@redhat.com> 1499 1500 PR target/69644 1501 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): 1502 Force oldval into register if it does not satisfy reg_or_short_operand 1503 predicate. Fix up formatting. 1504 15052016-02-03 Kirill Yukhin <kirill.yukhin@intel.com> 1506 1507 PR target/69118 1508 * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"): 1509 Fix target. 1510 15112016-02-02 Uros Bizjak <ubizjak@gmail.com> 1512 1513 PR target/67032 1514 * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves. 1515 15162016-02-02 Alan Modra <amodra@gmail.com> 1517 1518 PR target/69548 1519 * config/rs6000/predicates.md (quad_int_reg_operand): Don't 1520 allow subregs. 1521 15222016-02-01 H.J. Lu <hongjiu.lu@intel.com> 1523 1524 Backport from mainline 1525 2016-01-26 H.J. Lu <hongjiu.lu@intel.com> 1526 PR target/68986 1527 * config/i386/i386.c (ix86_compute_frame_layout): Move stack 1528 alignment adjustment to ... 1529 (ix86_update_stack_boundary): Here. Don't over-align stack nor 1530 change stack_alignment_needed for __tls_get_addr. 1531 (ix86_finalize_stack_realign_flags): Use stack_alignment_needed 1532 if __tls_get_addr is called. 1533 15342016-02-01 Richard Henderson <rth@redhat.com> 1535 1536 Backport from mainline. 1537 2016-01-28 Richard Henderson <rth@redhat.com> 1538 1539 PR target/69305 1540 * config/aarch64/aarch64-modes.def (CC_Cmode): New 1541 * config/aarch64/aarch64-protos.h: Update. 1542 * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New. 1543 (aarch64_select_cc_mode): Add check for use of CC_Cmode. 1544 (aarch64_get_condition_code_1): Handle CC_Cmode. 1545 * config/aarch64/aarch64.md (addti3): Use adddi3_compareC. 1546 (*add<mode>3_compareC_cconly_imm): New. 1547 (*add<mode>3_compareC_cconly): New. 1548 (*add<mode>3_compareC_imm): New. 1549 (add<mode>3_compareC): New. 1550 (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand 1551 to be first. Use aarch64_carry_operation. 1552 (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove. 1553 (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove. 1554 (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove. 1555 (subti3): Use subdi3_compare1. 1556 (*sub<mode>3_compare0): Rename from sub<mode>3_compare0. 1557 (sub<mode>3_compare1): New. 1558 (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New. 1559 (*sub<mode>3_carryin): Use aarch64_borrow_operation. 1560 (*subsi3_carryin_uxtw): Likewise. 1561 (*ngc<mode>, *ngcsi_uxtw): Likewise. 1562 (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New. 1563 * config/aarch64/iterators.md (DWI): New. 1564 * config/aarch64/predicates.md (aarch64_carry_operation): New. 1565 (aarch64_borrow_operation): New. 1566 15672016-01-29 Uros Bizjak <ubizjak@gmail.com> 1568 1569 PR target/69459 1570 * config/i386/constraints.md (C): Only accept constant zero operand. 1571 (BC): New constraint. 1572 * config/i386/sse.md (*mov<mode>_internal): Use BC constraint 1573 instead of C constraint. 1574 * doc/md.texi (Machine Constraints): Update description 1575 of C constraint. 1576 15772016-01-29 Jakub Jelinek <jakub@redhat.com> 1578 1579 PR target/69551 1580 * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For 1581 SSE1, copy target into the temporary reg first before recursing 1582 on it. 1583 15842016-01-28 Jakub Jelinek <jakub@redhat.com> 1585 1586 PR middle-end/69542 1587 * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider 1588 non-debug insns. 1589 15902016-01-28 Richard Henderson <rth@redhat.com> 1591 1592 PR rtl-opt/69447 1593 * lra-remat.c (subreg_regs): New. 1594 (dump_candidates_and_remat_bb_data): Dump it. 1595 (operand_to_remat): Reject if operand in subreg_regs. 1596 (set_bb_regs): Collect subreg_regs. 1597 (lra_remat): Init and free subreg_regs. Compute 1598 calculate_local_reg_remat_bb_data before create_cands. 1599 16002016-01-28 Martin Jambor <mjambor@suse.cz> 1601 1602 PR tree-optimization/69355 1603 * tree-sra.c (analyze_access_subtree): Correct hole detection when 1604 total_scalarization fails. 1605 16062016-01-26 Tom de Vries <tom@codesourcery.com> 1607 1608 PR tree-optimization/69110 1609 * tree-data-ref.c (initialize_data_dependence_relation): Handle 1610 DR_NUM_DIMENSIONS == 0. 1611 16122016-01-26 Eric Botcazou <ebotcazou@adacore.com> 1613 1614 * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode. 1615 16162016-01-23 Tom de Vries <tom@codesourcery.com> 1617 1618 PR tree-optimization/69426 1619 * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of 1620 removed clobber. 1621 16222016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1623 1624 Backport from mainline 1625 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1626 1627 PR target/69403 1628 * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to 1629 define_insn_and_split. Ensure operands[1] and operands[0] do not 1630 get assigned the same register. 1631 16322016-01-21 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1633 1634 Backported from mainline 1635 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1636 1637 * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER 1638 reg note to the GPR -> FPR save instructions. 1639 16402016-01-21 Thomas Preud'homme <thomas.preudhomme@arm.com> 1641 1642 Backport from mainline 1643 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com> 1644 1645 PR tree-optimization/67781 1646 * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg 1647 and cmpnop in two steps: first the ones not accessed in original 1648 gimple expression in a endian independent way and then the ones not 1649 accessed in the final result in an endian-specific way. 1650 16512016-01-20 Marek Polacek <polacek@redhat.com> 1652 1653 PR c/68513 1654 * match.pd ((x & ~m) | (y & m)): Only perform on GIMPLE. 1655 16562016-01-19 Sergei Trofimovich <siarheit@google.com> 1657 1658 Backport from mainline 1659 PR other/60465 1660 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64 1661 for local symbolic operands. 1662 * config/ia64/predicates.md (local_symbolic_operand64): New 1663 predicate. 1664 16652016-01-19 Jeff Law <law@redhat.com> 1666 1667 Backport from mainline 1668 2016-01-12 Jeff Law <law@redhat.com> 1669 1670 PR tree-optimization/pr67755 1671 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field 1672 "need_profile_correction". 1673 (thread_block_1): Initialize new field to false by default. If we 1674 have multiple thread paths through a common joiner to different 1675 final targets, then set new field to true. 1676 (compute_path_counts): Only do count adjustment when it's really 1677 needed. 1678 16792016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1680 1681 Backport from mainline 1682 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1683 1684 PR target/69135 1685 * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds" 1686 attribute to unconditional. Remove %? from output template. 1687 16882016-01-18 Alexander Fomin <alexander.fomin@intel.com> 1689 1690 Backport from mainline 1691 2015-10-09 Alexander Fomin <alexander.fomin@intel.com> 1692 1693 PR target/67895 1694 * config/i386/sse.md (define_insn "sse_cvtsi2ss<round_name>"): 1695 Adjust embedded rounding/SAE specifier position. 1696 (define_insn "sse_cvtsi2ssq<round_name>"): Likewise. 1697 (define_insn "cvtusi2<ssescalarmodesuffix>32<round_name>"): Likewise. 1698 (define_insn "cvtusi2<ssescalarmodesuffix>64<round_name>"): Likewise. 1699 (define_insn "sse2_cvtsi2sdq<round_name>"): Likewise. 1700 (define_insn "avx512dq_rangep<mode><mask_name><round_saeonly_name>"): 1701 Likewise. 1702 (define_insn "avx512dq_ranges<mode><round_saeonly_name>"): Likewise. 1703 17042016-01-18 Uros Bizjak <ubizjak@gmail.com> 1705 1706 Backport from mainline 1707 2016-01-07 Uros Bizjak <ubizjak@gmail.com> 1708 1709 PR target/69140 1710 * config/i386/i386.c (ix86_frame_pointer_required): Enable 1711 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned. 1712 17132016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1714 1715 Backport from mainline: 1716 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 1717 1718 PR tree-optimization/68799 1719 * gimple-ssa-strength-reduction.c (create_phi_basis): Directly 1720 look up phi candidates in the statement-candidate map. 1721 (phi_add_costs): Likewise. 1722 (record_phi_increments): Likewise. 1723 (phi_incr_cost): Likewise. 1724 (ncd_with_phi): Likewise. 1725 (all_phi_incrs_profitable): Likewise. 1726 17272016-01-17 Kugan Vivekanandarajah <kuganv@linaro.org> 1728 1729 Backport from mainline 1730 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org> 1731 Jim Wilson <jim.wilson@linaro.org> 1732 1733 PR target/69194 1734 * config/arm/arm-builtins.c (arm_expand_neon_args): Call 1735 copy_to_mode_reg instead of force_reg. 1736 17372016-01-15 Alexander Fomin <alexander.fomin@intel.com> 1738 1739 Backport from mainline 1740 2016-01-13 Alexander Fomin <alexander.fomin@intel.com> 1741 1742 PR target/69228 1743 * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"): 1744 Change first operand predicate from register_or_constm1_operand 1745 to register_operand. 1746 (define_expand "avx512pf_gatherpf<mode>df"): Likewise. 1747 (define_expand "avx512pf_scatterpf<mode>sf"): Likewise. 1748 (define_expand "avx512pf_scatterpf<mode>df"): Likewise. 1749 (define_insn "*avx512pf_gatherpf<mode>sf"): Remove. 1750 (define_insn "*avx512pf_gatherpf<mode>df"): Likewise. 1751 (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise. 1752 (define_insn "*avx512pf_scatterpf<mode>df"): Likewise. 1753 * config/i386/i386.c (ix86_expand_builtin): Remove first operand 1754 comparison with constm1_rtx from vec_prefetch_gen part. 1755 17562016-01-13 Richard Biener <rguenther@suse.de> 1757 1758 PR tree-optimization/69013 1759 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): 1760 Exchange assert for a test. 1761 17622016-01-12 H.J. Lu <hongjiu.lu@intel.com> 1763 1764 Backport from mainline 1765 2016-01-12 Jakub Jelinek <jakub@redhat.com> 1766 1767 PR target/69198 1768 * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure 1769 aligned_mem is properly set for AVX512-VL floating point masked 1770 stores. 1771 1772 2015-12-04 Ilya Enkovich <enkovich.gnu@gmail.com> 1773 1774 * config/i386/sse.md (<avx512>_store<mode>_mask): Fix 1775 operand checked for alignment. 1776 17772016-01-12 James Greenhalgh <james.greenhalgh@arm.com> 1778 1779 Backport from mainline r222186. 1780 2015-04-17 Jakub Jelinek <jakub@redhat.com> 1781 1782 PR target/65689 1783 * genpreds.c (struct constraint_data): Add maybe_allows_reg and 1784 maybe_allows_mem bitfields. 1785 (maybe_allows_none_start, maybe_allows_none_end, 1786 maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start, 1787 maybe_allows_mem_end): New variables. 1788 (compute_maybe_allows): New function. 1789 (add_constraint): Use it to initialize maybe_allows_reg and 1790 maybe_allows_mem fields. 1791 (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/ 1792 is_address constraints such that those that allow neither mem nor 1793 reg come first, then those that only allow reg but not mem, then 1794 those that only allow mem but not reg, then the rest. 1795 (write_allows_reg_mem_function): New function. 1796 (write_tm_preds_h): Call it. 1797 * stmt.c (parse_output_constraint, parse_input_constraint): Use 1798 the generated insn_extra_constraint_allows_reg_mem function 1799 instead of always setting *allows_reg = true; *allows_mem = true; 1800 for unknown extra constraints. 1801 18022016-01-11 John David Anglin <danglin@gcc.gnu.org> 1803 1804 * config/pa/pa.c (pa_emit_move_sequence): Handle floating point 1805 reloads for other unsupported memory operands. 1806 18072016-01-11 Martin Jambor <mjambor@suse.cz> 1808 1809 PR ipa/66616 1810 * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature 1811 flag. 1812 18132016-01-11 Yury Gribov <y.gribov@samsung.com> 1814 1815 Backport from mainline 1816 2016-01-11 Yury Gribov <y.gribov@samsung.com> 1817 1818 PR 67425 1819 * common.opt (frandom-seed): Fix parameter name. 1820 * doc/invoke.texi (frandom-seed): Ditto and describe parameter. 1821 18222016-01-08 Martin Jambor <mjambor@suse.cz> 1823 1824 Backport from mainline 1825 2015-12-15 Martin Jambor <mjambor@suse.cz> 1826 1827 PR ipa/68851 1828 * cgraph.c (collect_callers_of_node_1): Do not collect thunks. 1829 * cgraph.h (cgraph_node): Change comment of collect_callers. 1830 18312016-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1832 1833 PR target/68648 1834 * config/arm/arm.md (*andsi_iorsi3_notsi): Try to simplify 1835 the complement of operands[3] during splitting. 1836 18372015-12-31 Kirill Yukhin <kirill.yukhin@intel.com> 1838 1839 * config/i386/sse.md (define_insn "vec_dup<mode>"): Separate EVEX 1840 alternative. 1841 18422015-12-30 Kirill Yukhin <kirill.yukhin@intel.com> 1843 1844 * config/i386/sse.md (define_insn "vec_extract_hi_<mode>_maskm"): 1845 Remove "prefix_extra". 1846 (define_insn "vec_extract_hi_<mode>_mask"): New. 1847 (define_insn "vec_extract_hi_<mode>"): Remove masking. 1848 18492015-12-25 Andreas Tobler <andreast@gcc.gnu.org> 1850 1851 Backport from mainline 1852 2015-12-25 Andreas Tobler <andreast@gcc.gnu.org> 1853 1854 * config/rs6000/freebsd64.h: Delete FREEBSD_DYNAMIC_LINKER32/64 1855 defines. Use FBSD_DYNAMIC_LINKER instead. 1856 Rename and simplify LINK_OS_FREEBSD_SPEC_DEF32/64 to 1857 LINK_OS_FREEBSD_SPEC_DEF. 1858 18592015-12-22 Peter Bergner <bergner@vnet.ibm.com> 1860 1861 Backport from mainline 1862 PR target/68872 1863 * config/rs6000/rs6000.h (ASM_CPU_SPEC): For -mcpu=powerpc64le, 1864 pass %(asm_cpu_power8). 1865 18662015-12-19 Eric Botcazou <ebotcazou@adacore.com> 1867 1868 PR rtl-optimization/68910 1869 * emit-rtl.c (set_unique_reg_note) <REG_EQUAL>: Add bypass for USEs. 1870 * config/sparc/sparc.md (anddi3): Enable only in 64-bit mode. 1871 (iordi3): Likewise. 1872 (xordi3): Likewise. 1873 (one_cmpldi2): Likewise. 1874 (*anddi3_sp32): Delete. 1875 (*and_not_di_sp32): Likewise. 1876 (*iordi3_sp32): Likewise. 1877 (*or_not_di_sp32): Likewise. 1878 (*xordi3_sp32): Likewise. 1879 (*xor_not_di_sp32): Likewise. 1880 (32-bit DImode logical operations splitter): Likewise. 1881 (*one_cmpldi2_sp32): Likewise. 1882 18832015-13-18 John David Anglin <danglin@gcc.gnu.org> 1884 1885 PR target/68729 1886 * config/pa/pa.c (pa_emit_move_sequence): Reorganize handling of 1887 floating-point reloads. Only reload operands that are not valid 1888 floating-point memory operands. 1889 18902015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1891 1892 Backported from mainline 1893 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1894 1895 * config/s390/predicates.md (const_mask_operand): New predicate. 1896 * config/s390/s390-builtins.def: Set a smaller bitmask for a 1897 few builtins. 1898 * config/s390/vector.md: Change predicate from immediate_operand 1899 to either const_int_operand or const_mask_operand. Add special 1900 insn conditions on patterns which have to exclude certain values. 1901 * config/s390/vx-builtins.md: Likewise. 1902 19032015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1904 1905 Backported from mainline 1906 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1907 1908 * config/s390/vector.md ("*vec_set<mode>"): Change shift count 1909 mode from DI to SI. 1910 19112015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1912 1913 Backported from mainline 1914 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1915 1916 * config/s390/s390-builtin-types.def: New builtin types added. 1917 * config/s390/s390-builtins.def: Add s390_vec_splat_* definitions. 1918 * config/s390/s390.c (s390_expand_builtin): Always truncate 1919 constants to the mode in the pattern. 1920 * config/s390/vecintrin.h: Let the vec_splat_* macros point to the 1921 respective builtin __builtin_s390_vec_splat_*. 1922 19232015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1924 1925 Backported from mainline 1926 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1927 1928 * config/s390/s390-builtin-types.def: Sort builtin types. 1929 19302015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1931 1932 Backported from mainline 1933 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1934 1935 * config/s390/s390-c.c (s390_get_vstring_flags): Invert the 1936 condition for the RT flag. 1937 19382015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1939 1940 * config/s390/constraints.md: Use private backport of 1941 const_vec_duplicate_p s390_const_vec_duplicate_p. 1942 * config/s390/s390-protos.h: Add prototype for 1943 s390_const_vec_duplicate_p. 1944 * config/s390/s390.c (s390_const_vec_duplicate_p): New function. 1945 (s390_contiguous_bitmask_vector_p): Use s390_const_vec_duplicate_p. 1946 (print_operand): Likewise. 1947 19482015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1949 1950 Backported from mainline 1951 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1952 1953 * config/s390/constraints.md ("jKK"): New constraint. 1954 * config/s390/s390.c (tm-constrs.h): Include for 1955 satisfies_constraint_*. 1956 (s390_legitimate_constant_p): Allow jKK constants. Use 1957 satisfies_constraint_* also for the others. 1958 (legitimate_reload_vector_constant_p): Likewise. 1959 (print_operand): Allow h output modifier on vectors. 1960 * config/s390/vector.md ("mov<mode>"): Add vrepi. 1961 19622015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1963 1964 Backported from mainline 1965 1966 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1967 1968 * config/s390/vector.md ("*vec_splats<mode>"): Fix constraint 1969 letter I->K. 1970 19712015-12-18 Jakub Jelinek <jakub@redhat.com> 1972 1973 Backported from mainline 1974 2015-12-17 Jakub Jelinek <jakub@redhat.com> 1975 1976 PR tree-optimization/68835 1977 * tree.c (get_int_cst_ext_nunits): Return 1978 cst.get_precision () / HOST_BITS_PER_WIDE_INT + 1 1979 for all unsigned wi::neg_p (cst) constants. 1980 (build_new_int_cst): If cst.get_precision is not a multiple 1981 of HOST_BITS_PER_WIDE_INT, zero extend -1 to the precision 1982 % HOST_BITS_PER_WIDE_INT. 1983 19842015-12-16 John David Anglin <danglin@gcc.gnu.org> 1985 1986 PR target/68779 1987 * config/pa/pa.md (atomic_loaddi): Honor -mdisable-fpregs. 1988 (atomic_loaddi_1): Likewise. 1989 (atomic_storedi): Likewise. 1990 (atomic_storedi_1): Likewise. 1991 (atomic_loaddf): Likewise. 1992 (atomic_loaddf_1): Likewise. 1993 (atomic_storedf): Likewise. 1994 (atomic_storedf_1): Likewise. 1995 Move all atomic patterns to end of file. 1996 19972015-12-16 Richard Biener <rguenther@suse.de> 1998 1999 Backport from mainline 2000 2015-12-02 Jan Hubicka <hubicka@ucw.cz> 2001 2002 PR ipa/68184 2003 * cgraphunit.c (cgraph_node::analyze): Set can_throw_external. 2004 20052015-12-16 Richard Biener <rguenther@suse.de> 2006 2007 Backport from mainline 2008 2015-12-04 Richard Biener <rguenther@suse.de> 2009 2010 PR middle-end/68636 2011 * builtins.c (get_pointer_alignment_1): Take care of byte to 2012 bit alignment computation overflow. 2013 2014 2015-11-30 Richard Biener <rguenther@suse.de> 2015 2016 PR c/68162 2017 * dwarf2out.c (gen_type_die_with_usage): Keep variant types 2018 of arrays. 2019 20202015-12-14 Martin Jambor <mjambor@suse.cz> 2021 2022 PR ipa/66616 2023 * ipa-cp.c (propagate_constants_accross_call): Move thuk check... 2024 (call_passes_through_thunk_p): ...here. 2025 (find_more_scalar_values_for_callers_subset): Perform thunk checks 2026 like propagate_constants_accross_call does. 2027 20282015-12-14 James Greenhalgh <james.greenhalgh@arm.com> 2029 2030 Backport from mainline. 2031 2015-12-09 James Greenhalgh <james.greenhalgh@arm.com> 2032 2033 PR rtl-optimization/67609 2034 * config/aarch64/aarch64-protos.h 2035 (aarch64_cannot_change_mode_class): Bring back. 2036 * config/aarch64/aarch64.c 2037 (aarch64_cannot_change_mode_class): Likewise. 2038 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Likewise. 2039 * config/aarch64/aarch64.md (aarch64_movdi_<mode>low): Use 2040 zero_extract rather than truncate. 2041 (aarch64_movdi_<mode>high): Likewise. 2042 20432015-12-14 Uros Bizjak <ubizjak@gmail.com> 2044 2045 Backport from mainline 2046 2015-12-11 Martin Liska <mliska@suse.cz> 2047 Uros Bizjak <ubizjak@gmail.com> 2048 2049 PR target/67484 2050 * config/i386/i386.c (ix86_valid_target_attribute_tree): 2051 Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and 2052 opts->x_ix86_tune_string. 2053 20542015-12-13 Alexandre Oliva <aoliva@redhat.com> 2055 2056 PR debug/67355 2057 * var-tracking.c (reverse_op): Don't add dummy zero to reverse 2058 ops that simplify back to the original value. 2059 * alias.c (refs_newer_value_p): Cut off recursion for 2060 expressions containing the original value. 2061 20622015-12-10 Jakub Jelinek <jakub@redhat.com> 2063 2064 PR rtl-optimization/68376 2065 PR rtl-optimization/68670 2066 * ifcvt.c (noce_try_abs): For one_cmpl allow < 0, >= 0 2067 or > -1 conditions regardless of negate, and disallow 2068 all other conditions. 2069 20702015-12-10 Andreas Tobler <andreast@gcc.gnu.org> 2071 2072 Backport from mainline 2073 2015-12-09 Andreas Tobler <andreast@gcc.gnu.org> 2074 2075 * config/rs6000/freebsd64.h: Remove the redefinition of WCHAR_TYPE. 2076 20772015-12-10 Uros Bizjak <ubizjak@gmail.com> 2078 2079 Backport from mainline 2080 2015-12-08 Uros Bizjak <ubizjak@gmail.com> 2081 2082 PR target/68701 2083 * config/i386/i386.c (ix86_option_override_internal): Enable 2084 -maccumulate-outgoing-args when %ebp is fixed due to stack 2085 realignment requirements. 2086 20872015-12-10 Ilya Enkovich <enkovich.gnu@gmail.com> 2088 2089 Backport from mainline r231224. 2090 2015-12-03 Ilya Enkovich <enkovich.gnu@gmail.com> 2091 2092 * cfgexpand.c (expand_gimple_stmt_1): Return statement with 2093 DECL as return value is allowed to have NULL bounds. 2094 20952015-12-10 Martin Liska <mliska@suse.cz> 2096 2097 Backport from mainline 2098 2015-04-30 Jan Hubicka <hubicka@ucw.cz> 2099 2100 PR lto/65948 2101 * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent 2102 to itself. 2103 21042015-12-09 John David Anglin <danglin@gcc.gnu.org> 2105 2106 PR target/68729 2107 * config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is 2108 consistent with modes of the input and output operands when doing 2109 reloads to and from floating point registers. Do reload for all 2110 address forms. 2111 21122015-12-09 Martin Liska <mliska@suse.cz> 2113 2114 Backport from mainline 2115 2015-12-09 Martin Liska <mliska@suse.cz> 2116 2117 PR ipa/68790 2118 * ipa-icf.c (sem_function::param_used_p): Return true 2119 if ipa_node_params_sum equals to NULL. 2120 21212015-12-07 Jakub Jelinek <jakub@redhat.com> 2122 2123 Backport from mainline 2124 2015-12-04 Jakub Jelinek <jakub@redhat.com> 2125 2126 PR tree-optimization/68680 2127 * calls.c (special_function_p): Return ECF_MAY_BE_ALLOCA for 2128 BUILT_IN_ALLOCA{,_WITH_ALIGN}. Don't check for __builtin_alloca 2129 by name. 2130 2131 PR tree-optimization/68671 2132 * tree-ssa-reassoc.c (maybe_optimize_range_tests): For basic 2133 blocks starting with the successor of first bb we've modified 2134 and ending with last_bb call reset_flow_sensitive_info_in_bb. 2135 21362015-12-04 Andreas Tobler <andreast@gcc.gnu.org> 2137 2138 Backport from mainline 2139 2015-12-01 Andreas Tobler <andreast@gcc.gnu.org> 2140 2141 * config/rs6000/freebsd64.h (ELFv2_ABI_CHECK): Add new macro. 2142 (SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set 2143 rs6000_current_abi to ABI_AIX or ABI_ELFv2. 2144 21452015-12-04 Richard Biener <rguenther@suse.de> 2146 2147 * BASE-VER: Set to 5.3.1. 2148 21492015-12-04 Release Manager 2150 2151 * GCC 5.3.0 released. 2152 21532015-11-28 Gerald Pfeifer <gerald@pfeifer.com> 2154 2155 * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586. 2156 Remove support for FreeBSD 5 and earlier. 2157 21582015-11-27 Jakub Jelinek <jakub@redhat.com> 2159 2160 PR tree-optimization/68552 2161 * optabs.c (expand_vec_perm_1): Move vec_shr handling from here... 2162 (expand_vec_perm): ... here. Do it regardless of vec_perm_const_optab 2163 or whether v0 == v1. 2164 21652015-11-26 Bernd Edlinger <bernd.edlinger@hotmail.de> 2166 2167 Backport from mainline 2168 2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de> 2169 2170 PR rtl-optimization/67037 2171 * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary. 2172 21732015-11-26 David Edelsohn <dje.gcc@gmail.com> 2174 2175 Backport from mainline 2176 2015-11-25 David Edelsohn <dje.gcc@gmail.com> 2177 2178 * config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize 2179 both the symbol and the "dot" symbol for function descriptors. Fix 2180 inversion for rename of symbols with dollar sign. 2181 21822015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com> 2183 2184 Backport from mainline r230938. 2185 2015-11-26 Vladimir Makarov <vmakarov@redhat.com> 2186 2187 PR target/68416 2188 * config/i386/i386.h (enum reg_class): Add 2189 bounds registers to ALL_REGS. 2190 21912015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2192 2193 Backport from mainline 2194 2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2195 Bernd Schmidt <bschmidt@redhat.com> 2196 2197 PR rtl-optimization/67226 2198 * calls.c (store_one_arg): Take into account 2199 crtl->args.pretend_args_size when checking for overlap between 2200 arg->value and argblock + arg->locate.offset during sibcall 2201 optimization. 2202 22032015-11-25 Vladimir Makarov <vmakarov@redhat.com> 2204 2205 PR rtl-optimization/67954 2206 * lra-constraints.c (curr_insn_transform): Add check on scratch 2207 pseudo when change class to NO_REGS. Add an assert. 2208 22092015-11-24 Michael Meissner <meissner@linux.vnet.ibm.com> 2210 2211 Backport form mainline 2212 2015-11-24 David Edelsohn <dje.gcc@gmail.com> 2213 Michael Meissner <meissner@linux.vnet.ibm.com> 2214 2215 * config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec. 2216 (Fv2): New mode attribute to be used when ISA 2.07 instructions 2217 are used on SF values, and ISA 2.06 instructions on DF values. 2218 (add<mode>3_fpr): Use <Fv2> instead of <Fv>. 2219 (sub<mode>3_fpr): Use <Fv2> instead of <Fv>. 2220 (mul<mode>3_fpr): Use <Fv2> instead of <Fv>. 2221 (div<mode>3_fpr): Use <Fv2> instead of <Fv>. 2222 (sqrt<mode>2): Use <Fv2> instead of <Fv>. 2223 (fre<Fs>): Use <Fv2> instead of <Fv>. 2224 (rsqrt<mode>2): Use <Fv2> instead of <Fv>. 2225 (cmp<mode>_fpr): Use <Fv2> instead of <Fv>. 2226 (xsrdpi<mode>): Add support for the lround function. 2227 (lround<mode>di2): Likewise. 2228 (fma<mode>4_fpr): Use <Fv2> instead of <Fv>. 2229 (fms<mode>4_fpr): Use <Fv2> instead of <Fv>. 2230 (nfma<mode>4_fpr): Use <Fv2> instead of <Fv>. 2231 (nfms<mode>4_fpr): Use <Fv2> instead of <Fv>. 2232 22332015-11-24 Andreas Tobler <andreast@gcc.gnu.org> 2234 2235 Backport from mainline 2236 2015-11-18 Andreas Tobler <andreast@gcc.gnu.org> 2237 2238 * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the 2239 commit from r125920 for FreeBSD. 2240 22412015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com> 2242 2243 Backport from mainline r230796. 2244 2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com> 2245 2246 PR c/68337 2247 * gimple-fold.c: Include ipa-chkp.h. 2248 (gimple_fold_builtin_memory_op): Don't fold call if we 2249 are going to instrument it and it may copy pointers. 2250 22512015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2252 2253 Backport from mainline 2254 2015-11-24 Bernd Schmidt <bschmidt@redhat.com> 2255 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2256 2257 PR rtl-optimization/68194 2258 PR rtl-optimization/68328 2259 PR rtl-optimization/68185 2260 * ree.c (combine_reaching_defs): Reject copy_needed case if 2261 copies_list is not empty. 2262 22632015-11-24 Richard Biener <rguenther@suse.de> 2264 2265 PR middle-end/68221 2266 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly 2267 use mem_ref_offset. 2268 22692015-11-24 Jakub Jelinek <jakub@redhat.com> 2270 2271 PR target/68483 2272 * tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR 2273 is valid vec_shr pattern, don't lower it even if can_vec_perm_p 2274 returns false. 2275 * optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX 2276 whenever first is nelt or above. Don't mask expected with 2277 2 * nelt - 1. 2278 22792015-11-23 Michael Meissner <meissner@linux.vnet.ibm.com> 2280 2281 Backport from mainline 2282 2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com> 2283 Peter Bergner <bergner@vnet.ibm.com> 2284 2285 PR target/67808 2286 * config/rs6000/rs6000.md (extenddftf2): In the expander, only 2287 allow registers, but provide insns for the combiner to create for 2288 loads from memory. Separate VSX code from non-VSX code. For 2289 non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename 2290 externaldftf2_internal to externaldftf2_fprs. Reorder constraints 2291 so that registers come before memory operations. Drop support from 2292 converting DFmode to TFmode, if the DFmode value is in a GPR 2293 register. 2294 (extenddftf2_fprs): Likewise. 2295 (extenddftf2_internal): Likewise. 2296 (extenddftf2_vsx): Likewise. 2297 (extendsftf2): In the expander, only allow registers, but provide 2298 insns for the combiner to create for stores and loads. 2299 23002015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2301 2302 Backport from mainline 2303 2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2304 2305 PR target/68363 2306 * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments 2307 that are not INSN_P. 2308 23092015-11-23 Martin Liska <mliska@suse.cz> 2310 2311 Backport from mainline 2312 2015-06-22 Jan Hubicka <hubicka@ucw.cz> 2313 Martin Liska <mliska@suse.cz> 2314 2315 PR ipa/65908 2316 * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove 2317 construction of arg_types. 2318 (sem_function::sem_function): Likewise. 2319 (sem_function::~sem_function): Remove destruction of arg_types. 2320 (sem_function::compatible_parm_types_p): New function. 2321 (sem_function::equals_wpa): Reorg matching of return values 2322 and parameter types. 2323 (sem_function::equals_private): Reorg mathcing of argument types. 2324 (sem_function::parse_tree_args): Remove. 2325 (sem_function::param_used_p): New function. 2326 * ipa-icf.h (init_wpa): Do not call it. 2327 (parse_tree_args): Remove. 2328 (compatible_parm_types_p): Declare. 2329 (result_type): Remove. 2330 (arg_types): Remove. 2331 (param_used_p): Declare. 2332 23332015-11-23 Richard Biener <rguenther@suse.de> 2334 2335 Backport from mainline 2336 2015-10-29 Richard Biener <rguenther@suse.de> 2337 2338 PR middle-end/56956 2339 * fold-const.c (fold_cond_expr_with_comparison): Do not fold 2340 unsigned conditonal negation to ABS_EXPR. 2341 23422015-11-22 Dominique d'Humieres <dominiq@lps.ens.fr> 2343 2344 Backport from mainline 2345 2015-09-14 Manuel L��pez-Ib����e<manu@gcc.gnu.org> 2346 2347 PR fortran/67460 2348 * diagnostic.c (diagnostic_initialize): Do not set 2349 some_warnings_are_errors. 2350 (diagnostic_finish): Use DK_WERROR count instead. 2351 (diagnostic_report_diagnostic): Do not set 2352 some_warnings_are_errors. 2353 * diagnostic.h (struct diagnostic_context): Remove 2354 some_warnings_are_errors. 2355 23562015-11-21 Jakub Jelinek <jakub@redhat.com> 2357 2358 PR debug/66432 2359 * tree-inline.c (copy_debug_stmt): If 2360 gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL 2361 in decl_debug_args, don't call remap_gimple_op_r on it. 2362 23632015-11-20 Jakub Jelinek <jakub@redhat.com> 2364 2365 PR middle-end/68339 2366 * omp-low.c (expand_simd_clones): Call node->get_body () before 2367 allocating stuff in GC. 2368 23692015-11-20 Eric Botcazou <ebotcazou@adacore.com> 2370 2371 * doc/md.texi (Standard Names): Move entry for addptr3 around, 2372 add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes 2373 glitch in entries for cbranch4 and jump. 2374 23752015-11-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 2376 2377 Backport from mainline 2378 * config/s390/s390.md ("bswaphi2"): New pattern. 2379 23802015-11-20 Dominik Vogt <vogt@linux.vnet.ibm.com> 2381 2382 Backport from mainline 2383 * config/s390/s390.md (GPR1_REGNUM): New constant. 2384 ("*trunc<BFP:mode><DFP_ALL:mode>2") 2385 ("*trunc<DFP_ALL:mode><BFP:mode>2") 2386 ("trunc<BFP:mode><DFP_ALL:mode>2") 2387 ("trunc<DFP_ALL:mode><BFP:mode>2") 2388 ("*extend<BFP:mode><DFP_ALL:mode>2") 2389 ("*extend<DFP_ALL:mode><BFP:mode>2") 2390 ("extend<BFP:mode><DFP_ALL:mode>2") 2391 ("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1. 2392 23932015-11-19 Eric Botcazou <ebotcazou@adacore.com> 2394 2395 PR lto/61313 2396 * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified 2397 by the user. 2398 * configure: Regenerate. 2399 24002015-11-19 Eric Botcazou <ebotcazou@adacore.com> 2401 2402 PR target/68408 2403 * config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine. 2404 (DTORS_SECTION_ASM_OP): Likewise. 2405 24062015-11-19 Jakub Jelinek <jakub@redhat.com> 2407 2408 PR rtl-optimization/68376 2409 * ifcvt.c (noce_try_abs): Disable one_cmpl optimization if 2410 encountering x <= 0 ? ~x : x or x > 0 ? ~x : x. 2411 2412 PR target/67770 2413 * config/i386/i386.md (simple_return): Disable if 2414 ix86_static_chain_on_stack is true. 2415 24162015-11-18 Richard Henderson <rth@redhat.com> 2417 2418 Backport from mainline 2419 PR rtl-opt/67609 2420 * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten 2421 sse check to the exact conditions of PR 67609. 2422 2423 * config/i386/i386.c (ix86_cannot_change_mode_class): Disallow 2424 narrowing subregs on SSE and MMX registers. 2425 * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Clarify when subregs that 2426 appear to be sub-words of multi-register pseudos must be rejected. 2427 * doc/tm.texi: Regenerate. 2428 24292015-11-18 Richard Biener <rguenther@suse.de> 2430 2431 Backport from mainline 2432 2015-11-07 Jan Hubicka <hubicka@ucw.cz> 2433 2434 PR ipa/68057 2435 PR ipa/68220 2436 * ipa-polymorphic-call.c 2437 (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering 2438 issue when offset is out of range. 2439 (contains_type_p): Fix out of range check, clear dynamic flag. 2440 2441 2015-10-23 Jan Hubicka <hubicka@ucw.cz> 2442 2443 PR ipa/pr67600 2444 * ipa-polymorphic-call.c 2445 (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse 2446 instance offset with offset of outer type. 2447 2448 2015-10-12 Richard Biener <rguenther@suse.de> 2449 2450 PR ipa/67783 2451 * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add 2452 code that analyzes IVs on each stmt but in a cheaper way avoiding 2453 quadratic behavior. 2454 2455 2015-10-11 Jan Hubicka <hubicka@ucw.cz> 2456 2457 PR ipa/67056 2458 * ipa-polymorphic-call.c (possible_placement_new): If cur_offset 2459 is negative we don't know the type. 2460 (check_stmt_for_type_change): Skip constructors of non-polymorphic 2461 types as those won't help devirutalization. 2462 2463 2015-08-11 Manuel L��pez-Ib����ez <manu@gcc.gnu.org> 2464 2465 PR c/66098 2466 PR c/66711 2467 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into 2468 account when deciding what was the command-line status. 2469 24702015-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2471 2472 Backport from mainline 2473 2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2474 2475 PR target/68143 2476 * config/arm/arm.c (arm_block_set_unaligned_vect): Keep track of 2477 offset from dstbase and use it appropriately in 2478 adjust_automodify_address. 2479 (arm_block_set_aligned_vect): Likewise. 2480 24812015-11-18 Richard Biener <rguenther@suse.de> 2482 2483 Backport from mainline 2484 2015-10-28 Richard Biener <rguenther@suse.de> 2485 2486 PR middle-end/68067 2487 * fold-const.c (negate_expr_p): We cannot negate plus or minus 2488 if overflow is not wrapping. Likewise multiplication unless 2489 one operand is constant and not power of two. 2490 (fold_negate_expr): Adjust accordingly. 2491 2492 2015-10-26 Richard Biener <rguenther@suse.de> 2493 Dominik Vogt <vogt@linux.vnet.ibm.com> 2494 2495 PR middle-end/67443 2496 * alias.c (ao_ref_from_mem): Remove promoted subreg handling. 2497 Properly prune ref->ref for accesses outside of ref. 2498 2499 2015-10-20 Richard Biener <rguenther@suse.de> 2500 2501 PR tree-optimization/68017 2502 * tree-tailcall.c (eliminate_tail_call): Remove stmts backwards. 2503 2504 2015-09-23 Richard Biener <rguenther@suse.de> 2505 2506 PR middle-end/67662 2507 * fold-const.c (fold_binary_loc): Do not reassociate two vars with 2508 undefined overflow unless they will cancel out. 2509 25102015-11-18 Jakub Jelinek <jakub@redhat.com> 2511 2512 PR tree-optimization/68157 2513 * tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of 2514 pow_stmt or mul_stmt from stmt's uid. 2515 (reassociate_bb): Set uid of mul_stmt from stmt's uid. 2516 25172015-11-16 Charles Baylis <charles.baylis@linaro.org> 2518 2519 Backport from mainline r227407 2520 PR ipa/67280 2521 * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external 2522 in new callgraph edge. 2523 25242015-11-16 Oleg Endo <olegendo@gcc.gnu.org> 2525 2526 Backport from mainline 2527 2015-11-16 Oleg Endo <olegendo@gcc.gnu.org> 2528 Kaz Kojima <kkojima@gcc.gnu.org> 2529 2530 PR target/68277 2531 * config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and 2532 operands[2]. 2533 (*addsi3): Add another insn_and_split variant for reload. 2534 25352015-11-12 Eric Botcazou <ebotcazou@adacore.com> 2536 2537 PR target/67265 2538 * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete 2539 assertion on the CFA register. 2540 25412015-11-11 Eric Botcazou <ebotcazou@adacore.com> 2542 2543 PR target/67265 2544 * ira.c (ira_setup_eliminable_regset): Do not necessarily create the 2545 frame pointer for stack checking if non-call exceptions aren't used. 2546 * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise. 2547 25482015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2549 2550 PR target/68129 2551 * config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1. 2552 * config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE): 2553 Delete VOIDmode case. Assert that mode is not VOIDmode. 2554 * config/aarch64/predicates.md (const0_operand): Remove const_double 2555 match. 2556 25572015-11-10 James Greenhalgh <james.greenhalgh@arm.com> 2558 2559 Partial backport from trunk r228751. 2560 PR tree-optimization/68238 2561 2015-10-13 Richard Biener <rguenther@suse.de> 2562 2563 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Use 2564 LOOP_VINFO_COMP_ALIAS_DDRS to estimate alias versioning cost. 2565 25662015-11-09 Eric Botcazou <ebotcazou@adacore.com> 2567 2568 PR target/57845 2569 * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do 2570 not promote the mode for aggregate types. 2571 25722015-11-09 Mike Stump <mikestump@comcast.net> 2573 2574 PR debug/66728 2575 * dwarf2out.c (get_full_len): Return a value based upon the actual 2576 precision needed for the value. 2577 (add_const_value_attribute): Use a maximal wide-int for 2578 CONST_WIDE_INTs, not VOIDmode. 2579 (output_die): Don't ever output NULL with printf. 2580 2581 * rtl.h (get_precision of rtx_mode_t): Ensure we never process 2582 BLKmode nor VOIDmode values. 2583 25842015-11-06 Vladimir Makarov <vmakarov@redhat.com> 2585 2586 PR rtl-optimization/68106 2587 * lra-remat.c (input_regno_present_p): Process hard regs 2588 explicitly present in machine description insns. 2589 (call_used_input_regno_present_p): Ditto. 2590 (calculate_gen_cands): Ditto. 2591 (do_remat): Ditto. 2592 25932015-11-02 Andreas Tobler <andreast@gcc.gnu.org> 2594 2595 * config/rs6000/freebsd64.h (ASM_SPEC32): Adapt spec to handle PIE 2596 executables. 2597 25982015-11-02 Steve Ellcey <sellcey@imgtec.com> 2599 2600 Backport from mainline 2601 2015-10-23 Steve Ellcey <sellcey@imgtec.com> 2602 Andrew Pinski <apinski@cavium.com> 2603 2604 PR rtl-optimization/67736 2605 * combine.c (simplify_comparison): Use gen_lowpart_or_truncate instead 2606 of gen_lowpart. 2607 26082015-10-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2609 2610 Backport from mainline 2611 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2612 2613 PR target/68102 2614 * config/aarch64/aarch64.md (*movsi_aarch64): Check that 2615 operands[0] is a reg before taking its REGNO in split condition. 2616 (*movdi_aarch64): Likewise. 2617 26182015-10-27 Caroline Tice <cmtice@google.com. 2619 2620 (from Richard Biener) 2621 * tree.c (int_cst_hasher::hash): Replace XOR with more efficient 2622 call to interative_hash_host_wide_int. 2623 26242015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2625 2626 Backport from mainline 2627 2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2628 2629 PR middle-end/67989 2630 * optabs.c (expand_atomic_compare_and_swap): Handle case when 2631 ptarget_oval or ptarget_bool are const0_rtx. 2632 26332015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2634 2635 PR target/67929 2636 * config/arm/arm.c (vfp3_const_double_for_bits): Rewrite. 2637 * config/arm/constraints.md (Dp): Update callsite. 2638 * config/arm/predicates.md (const_double_vcvt_power_of_two): Likewise. 2639 26402015-10-27 Martin Jambor <mjambor@suse.cz> 2641 2642 * tree-sra.c (replace_removed_params_ssa_names): Change type of 2643 parameter stmt to gimple. 2644 26452015-10-26 Martin Jambor <mjambor@suse.cz> 2646 2647 Backport from mainline 2648 2015-10-09 Martin Jambor <mjambor@suse.cz> 2649 2650 PR tree-optimization/67794 2651 * tree-sra.c (replace_removed_params_ssa_names): Do not distinguish 2652 between types of statements but accept original definitions as a 2653 parameter. 2654 (ipa_sra_modify_function_body): Use FOR_EACH_SSA_DEF_OPERAND to 2655 iterate over definitions. 2656 26572015-10-25 John David Anglin <danglin@gcc.gnu.org> 2658 2659 PR middle-end/68079 2660 * dojump.c (do_compare_and_jump): Canonicalize both function and 2661 method types. 2662 26632015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 2664 2665 Backport from mainline 2666 2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 2667 2668 PR target/68015 2669 * config/s390/s390.md (mov<mode>cc): Emit compare only if we don't 2670 already have a comparison result. 2671 26722015-10-22 Uros Bizjak <ubizjak@gmail.com> 2673 2674 Backport from mainline 2675 2015-10-21 Uros Bizjak <ubizjak@gmail.com> 2676 2677 PR target/68018 2678 * config/i386/i386.c (ix86_compute_frame_layout): Realign the stack 2679 for 64-bit MS_ABI targets also when default incoming stack boundary 2680 is overriden. 2681 26822015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com> 2683 2684 Backport from mainline r229024 2685 2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com> 2686 2687 PR target/66912 2688 * varasm.c (default_binds_local_p_2): Turn on extern_protected_data. 2689 26902015-10-19 H.J. Lu <hongjiu.lu@intel.com> 2691 2692 Backport from mainline 2693 2015-07-20 Mikhail Maltsev <maltsevm@gmail.com> 2694 2695 * wide-int.h (struct binary_traits): Fix partial specialization syntax. 2696 (struct int_traits): Likewise. 2697 26982015-10-16 Richard Sandiford <richard.sandiford@arm.com> 2699 2700 PR middle-end/66311 2701 * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value 2702 is zero- rather than sign-extended. 2703 27042015-10-15 Peter Bergner <bergner@vnet.ibm.com> 2705 2706 Backport from mainline 2707 2015-10-14 Peter Bergner <bergner@vnet.ibm.com> 2708 Torvald Riegel <triegel@redhat.com> 2709 2710 PR target/67281 2711 * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New. 2712 (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend, 2713 trechkpt, treclaim, tsr, ttest): Rename define_insns from this... 2714 (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend, 2715 *trechkpt, *treclaim, *tsr, *ttest): ...to this. Add memory barrier. 2716 (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend, 2717 trechkpt, treclaim, tsr, ttest): New define_expands. 2718 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define 2719 __TM_FENCE__ for htm. 2720 * doc/extend.texi: Update documentation for htm builtins. 2721 27222015-10-14 Uros Bizjak <ubizjak@gmail.com> 2723 2724 PR target/67967 2725 * config/i386/i386.c (ix86_emit_save_reg_using_mov): Do not add 2726 REG_CFA_EXPRESSION to aligned SSE stores. 2727 27282015-10-12 H.J. Lu <hongjiu.lu@intel.com> 2729 2730 PR target/67940 2731 * config/i386/i386.c (ix86_compute_frame_layout): Correct 2732 stack alignment adjustment. 2733 (ix86_expand_prologue): Likewise. 2734 27352015-10-12 Uros Bizjak <ubizjak@gmail.com> 2736 2737 Backport from mainline 2738 2015-10-08 H.J. Lu <hongjiu.lu@intel.com> 2739 2740 * config/i386/i386.c (ix86_compute_frame_layout): Round up the 2741 SSE register save area to 16 bytes only if the incoming stack 2742 boundary is no less than 16 bytes. 2743 2744 Backport from mainline 2745 2015-10-07 Uros Bizjak <ubizjak@gmail.com> 2746 2747 PR target/66697 2748 * config/i386/i386.c (ix86_option_override_internal): Always use 2749 8-byte minimum stack boundary in 64-bit mode. 2750 (ix86_compute_frame_layout): Remove assert on INCOMING_STACK_BOUNDARY. 2751 (ix86_emit_save_reg_using_mov): Support unaligned SSE store. 2752 Add a REG_CFA_EXPRESSION note if needed. 2753 (ix86_emit_restore_sse_regs_using_mov): Support unaligned SSE load. 2754 (ix86_handle_force_align_arg_pointer_attribute): New. 2755 (ix86_minimum_incoming_stack_boundary): Remove TARGET_64BIT check. 2756 (ix86_attribute_table): Set ix86_force_align_arg_pointer_string 2757 with ix86_handle_force_align_arg_pointer_attribute. 2758 * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to BITS_PER_WORD. 2759 27602015-10-12 H.J. Lu <hongjiu.lu@intel.com> 2761 2762 Backport from mainline 2763 2015-10-07 H.J. Lu <hongjiu.lu@intel.com> 2764 2765 PR target/67850 2766 * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ... 2767 (ix86_set_current_function): This. 2768 (TARGET_EXPAND_TO_RTL_HOOK): Removed. 2769 27702015-10-12 Alexander Fomin <alexander.fomin@intel.com> 2771 Kirill Yukhin <kirill.yukhin@intel.com> 2772 2773 PR target/67849 2774 * config/i386/sse.md (define_split vec_select/V8FI): Restrict 2775 split for upper-bank registers when target does not support 2776 AVX512VL. 2777 (define_insn "vec_extract_lo_<mode><mask_name>"): Restrict 2778 split when target does not support AVX512VL. 2779 27802015-10-12 Richard Biener <rguenther@suse.de> 2781 2782 Backport from mainline 2783 2015-07-21 Mike Frysinger <vapier@gentoo.org> 2784 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 2785 2786 * configure.ac: Add check for new options in isl-0.15. 2787 * config.in, configure: Rebuilt. 2788 * graphite-blocking.c: Include <isl/constraint.h> 2789 * graphite-interchange.c, graphite-poly.c: Likewise. 2790 * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise. 2791 * graphite.c: Likewise. 2792 * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and 2793 <isl/union_set.h>. 2794 * graphite-dependences.c: Include <isl/constraint.h>. 2795 (max_number_of_out_dimensions): Returns isl_stat. 2796 (extend_schedule_1): Likewise 2797 (extend_schedule): Corresponding changes. 2798 * graphite-optimize-isl.c: Include <isl/constraint.h> and 2799 <isl/union_set.h>. 2800 (getSingleMap): Change return type of isl_stat. 2801 (optimize_isl): Conditionally use 2802 isl_options_set_schedule_serialize_sccs. 2803 * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks 2804 if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS. 2805 28062015-10-10 Alexandre Oliva <aoliva@redhat.com> 2807 2808 PR debug/58315 2809 * tree-inline.c (reset_debug_binding): New. 2810 (reset_debug_bindings): Likewise. 2811 (expand_call_inline): Call it. 2812 28132015-10-08 Jonathan Wakely <jwakely@redhat.com> 2814 2815 Backport from mainline 2816 2015-09-17 Richard Henderson <rth@redhat.com> 2817 2818 PR libstdc++/65913 2819 * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake 2820 pointers that encode the alignment of the object. 2821 28222015-10-06 Richard Biener <rguenther@suse.de> 2823 2824 Backport from mainline 2825 2015-09-15 Richard Biener <rguenther@suse.de> 2826 2827 PR middle-end/67563 2828 * gimple-fold.c (gimplify_and_update_call_from_tree): Do not 2829 transfer EH info from old to new stmt. 2830 (replace_call_with_value): Likewise. 2831 (replace_call_with_call_and_fold): Likewise. 2832 (gimple_fold_builtin_memory_op): Likewise. 2833 (gimple_fold_builtin_memset): Likewise. 2834 (gimple_fold_builtin_stpcpy): Likewise. 2835 (gimple_fold_call): Likewise. 2836 2837 2015-09-24 Richard Biener <rguenther@suse.de> 2838 2839 PR lto/67699 2840 * lto-cgraph.c (compute_ltrans_boundary): Do not stream 2841 abstract origins. 2842 28432015-10-06 Kirill Yukhin <kirill.yukhin@intel.com> 2844 2845 * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New. 2846 (expand_vec_perm_even_odd_1): Handle V64QImode. 2847 (ix86_expand_vec_perm_const_1): Try expansion with 2848 expand_vec_perm_even_odd_trunc as well. 2849 * config/i386/sse.md (VI124_AVX512F): Rename to ... 2850 (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend 2851 to V54QI. 2852 (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ... 2853 (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend 2854 to V32HI and V16SI. 2855 (define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name. 2856 (define_expand "vec_pack_trunc_<mode>"): Update iterator name. 2857 (define_expand "vec_unpacks_lo_<mode>"): Ditto. 2858 (define_expand "vec_unpacks_hi_<mode>"): Ditto. 2859 (define_expand "vec_unpacku_lo_<mode>"): Ditto. 2860 (define_expand "vec_unpacku_hi_<mode>"): Ditto. 2861 28622015-10-05 Marek Polacek <polacek@redhat.com> 2863 2864 Backport from mainline 2865 2015-10-05 Marek Polacek <polacek@redhat.com> 2866 2867 PR tree-optimization/67821 2868 * tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert. 2869 28702015-10-03 Oleg Endo <olegendo@gcc.gnu.org> 2871 2872 Backport from mainline 2873 2015-09-29 Kaz Kojima <kkojima@gcc.gnu.org> 2874 2875 PR target/67716 2876 * config/sh/sh.c (sh_override_options_after_change): New. 2877 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define. 2878 (sh_option_override): Move align_loops, align_jumps and 2879 align_functions handling into sh_override_options_after_change. 2880 28812015-10-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 2882 2883 Backport from mainline 2884 2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 2885 2886 * config/s390/s390.c (s390_const_operand_ok): Add missing 2887 brackets. 2888 28892015-10-01 Marek Polacek <polacek@redhat.com> 2890 2891 Backport from mainline 2892 2015-10-01 Marek Polacek <polacek@redhat.com> 2893 2894 PR tree-optimization/67769 2895 * tree-ssa-phiopt.c (conditional_replacement): Call 2896 reset_flow_sensitive_info_in_bb. 2897 (minmax_replacement): Likewise. 2898 (abs_replacement): Likewise. 2899 29002015-10-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2901 2902 Backport from mainline 2903 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2904 2905 * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris. 2906 Check for ld -type pie on Solaris 11.x and 12. 2907 * configure: Regenerate. 2908 * config.in: Regenerate. 2909 2910 * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define. 2911 (STARTFILE_SPEC): Use it. 2912 (ENDFILE_CRTEND_SPEC): Define. 2913 (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC. 2914 (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC, 2915 ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC. 2916 (LINK_PIE_SPEC): Define. 2917 * config/i386/sol2.h (ENDFILE_SPEC): Remove. 2918 (ENDFILE_ARCH_SPEC): Define. 2919 * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define. 2920 29212015-10-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2922 2923 Backport from mainline 2924 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2925 2926 * configure.ac (gcc_cv_solaris_crts): New test. 2927 * configure. Regenerate. 2928 * config.in: Regenerate. 2929 * config/sol2.h (STARTFILE_SPEC): Simplify, provide 2930 HAVE_SOLARIS_CRTS variant. 2931 29322015-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2933 2934 Backport from mainline 2935 2015-06-09 Shiva Chen <shiva0217@gmail.com> 2936 2937 * sync.md (atomic_load<mode>): Add conditional code for lda/ldr 2938 (atomic_store<mode>): Likewise. 2939 29402015-09-30 H.J. Lu <hongjiu.lu@intel.com> 2941 2942 Backport from mainline 2943 2015-08-07 H.J. Lu <hongjiu.lu@intel.com> 2944 2945 PR rtl-optimization/67029 2946 * ira-color.c: Include "recog.h" before including "ira-int.h". 2947 * target-globals.c: Likewise. 2948 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an 2949 adds an alternative_mask argument and use it instead of 2950 preferred_alternatives. 2951 * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ... 2952 * ira-int.h (ira_implicitly_set_insn_hard_regs): Here. 2953 * sched-deps.c: Include "ira-int.h" after including "ira.h". 2954 (sched_analyze_insn): Update call to 2955 ira_implicitly_set_insn_hard_regs. 2956 * sel-sched.c: Include "ira-int.h" after including "ira.h". 2957 (implicit_clobber_conflict_p): Update call to 2958 ira_implicitly_set_insn_hard_regs. 2959 29602015-09-30 Marek Polacek <polacek@redhat.com> 2961 2962 Backport from mainline 2963 2015-09-30 Marek Polacek <polacek@redhat.com> 2964 2965 PR tree-optimization/67690 2966 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call 2967 reset_flow_sensitive_info_in_bb. 2968 * tree-ssa-tail-merge.c: Include "stringpool.h" and "tree-ssanames.h". 2969 (replace_block_by): Call reset_flow_sensitive_info_in_bb. 2970 * tree-ssanames.c: Include "gimple-iterator.h". 2971 (reset_flow_sensitive_info_in_bb): New function. 2972 * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare. 2973 29742015-09-29 Vladimir Makarov <vmakarov@redhat.com> 2975 2976 Backport from mainline 2977 2015-07-21 Vladimir Makarov <vmakarov@redhat.com> 2978 2979 PR ipa/66424. 2980 * lra-remat.c (operand_to_remat): Prevent using insns with input 2981 subregs processed separately by IRA. 2982 29832015-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 2984 2985 Backport from mainline 2986 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 2987 2988 * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if 2989 the vector element is bigger than 64 bit. 2990 29912015-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 2992 2993 Backport from mainline 2994 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 2995 2996 * config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>") 2997 ("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS. 2998 29992015-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 3000 3001 Backport from mainline 3002 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 3003 3004 * config/s390/s390.c: Add V1TImode to constant pool modes. 3005 30062015-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 3007 3008 Backport from mainline 3009 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 3010 3011 * config/s390/vx-builtins.md 3012 ("vec_scatter_element<mode>_<non_vec_int>") 3013 ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode 3014 attribute with bhfgq. 3015 30162015-09-29 Andrew Pinski <apinski@cavium.com> 3017 3018 * config/aarch64/aarch64.md (prefetch): 3019 Change the predicate of operand 0 to register_operand. 3020 30212015-09-28 Daniel Hellstrom <daniel@gaisler.com> 3022 3023 * config/sparc/t-rtems: Remove -muser-mode. Add ut699, at697f and leon. 3024 30252015-09-28 Oleg Endo <olegendo@gcc.gnu.org> 3026 3027 Backport from mainline 3028 2015-09-27 Oleg Endo <olegendo@gcc.gnu.org> 3029 Kaz Kojima <kkojima@gcc.gnu.org> 3030 3031 PR target/67391 3032 * config/sh/sh-protos.h (sh_lra_p): Declare. 3033 * config/sh/sh.c (sh_lra_p): Make non-static. 3034 * config/sh/sh.md (addsi3): Use arith_reg_dest for operands[0] and 3035 arith_reg_operand for operands[1]. Remove TARGET_SHMEDIA case. 3036 Expand into addsi3_scr if operands[2] if needed. 3037 (*addsi3_compact): Rename to *addsi3_compact_lra. Use 3038 arith_reg_operand for operands[1]. Allow it only when LRA is enabled. 3039 (addsi3_scr, *addsi3): New insn_and_split patterns. 3040 30412015-09-28 Richard Biener <rguenther@suse.de> 3042 3043 Backport from mainline 3044 2015-08-03 Richard Biener <rguenther@suse.de> 3045 3046 PR tree-optimization/66917 3047 * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned 3048 field. 3049 (DR_VECT_AUX): New macro. 3050 (set_dr_misalignment): Adjust. 3051 (dr_misalignment): Likewise. 3052 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): 3053 Compute whether the base is at least element aligned. 3054 * tree-vect-stmts.c (ensure_base_align): Adjust. 3055 (vectorizable_store): If the base is not element aligned 3056 preserve alignment of the original access if misalignment is unknown. 3057 (vectorizable_load): Likewise. 3058 3059 2015-09-16 Richard Biener <rguenther@suse.de> 3060 3061 PR middle-end/67442 3062 * fold-const.c (extract_muldiv_1): Properly extend multiplication 3063 result before builting a tree via wide_int_to_tree. 3064 30652015-09-28 Daniel Cederman <cederman@gaisler.com> 3066 3067 * config/sparc/driver-sparc.c: map LEON to leon3 3068 30692015-09-28 Daniel Cederman <cederman@gaisler.com> 3070 3071 * config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE 3072 and make it inverse to change default 3073 * config/sparc/sync.md: Only use supervisor ASI for CASA when in 3074 supervisor mode 3075 * doc/invoke.texi: Document change of default 3076 30772015-09-28 Daniel Cederman <cederman@gaisler.com> 3078 3079 * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return 3080 true on %f0 for a target without FPU. 3081 * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target 3082 without FPU. 3083 (untyped_return): Do not load %f0 for a target without FPU. 3084 30852015-09-25 Tobias Burnus <burnus@net-b.de> 3086 3087 * doc/invoke.texi (-fsanitize): Minor wording tweak. 3088 30892015-09-25 Tobias Burnus <burnus@net-b.de> 3090 3091 * doc/invoke.texi (-fsanitize): Update URLs. 3092 30932015-09-24 John David Anglin <danglin@gcc.gnu.org> 3094 3095 * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define. 3096 * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop): 3097 Declare. 3098 * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes. 3099 (pa_expand_compare_and_swap_loop): New. 3100 (pa_maybe_emit_compare_and_swap_exchange_loop): New. 3101 * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi, 3102 atomic_storesf, atomic_loaddf, atomic_storedf): New expanders. 3103 (atomic_loaddf_1, atomic_storedf_1): New insn patterns. 3104 (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1): 3105 Revise. 3106 31072015-09-24 Alan Modra <amodra@gmail.com> 3108 3109 Apply from mainline 3110 2015-09-02 Alan Modra <amodra@gmail.com> 3111 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define. 3112 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise. 3113 (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target. 3114 31152015-09-23 Oleg Endo <olegendo@gcc.gnu.org> 3116 3117 Backport from mainline 3118 2015-09-23 Oleg Endo <olegendo@gcc.gnu.org> 3119 3120 PR target/67391 3121 * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for overlapping 3122 regs when matching the pattern. 3123 31242015-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 3125 3126 Backport from mainline 3127 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 3128 3129 PR target/67439 3130 * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from 3131 predicate. Set predicable_short_it attr to "no". 3132 31332015-09-23 Matthew Wahab <matthew.wahab@arm.com> 3134 3135 Backport from mainline 3136 2015-08-14 Matthew Wahab <matthew.wahab@arm.com> 3137 3138 PR target/67143 3139 * config/aarch64/atomics.md (atomic_<optab><mode>): Replace 3140 'lconst_atomic' with 'const_atomic'. 3141 (atomic_fetch_<optab><mode>): Likewise. 3142 (atomic_<optab>_fetch<mode>): Likewise. 3143 * config/aarch64/iterators.md (lconst-atomic): Move below 3144 'const_atomic'. 3145 (const_atomic): New. 3146 31472015-09-22 Chung-Lin Tang <cltang@codesourcery.com> 3148 3149 Backport from mainline 3150 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com> 3151 3152 * config/nios2/nios2.c (nios2_legitimize_address): When handling 3153 'reg + reloc' cases, allow first operand to be non-REG, and use 3154 force_reg() to enforce address pattern. 3155 31562015-09-22 Kirill Yukhin <kirill.yukhin@intel.com> 3157 3158 * gcc/config/i386/i386.md (define_insn "kunpckhi"): Fix 3159 operand in pattern. 3160 (define_insn "kunpcksi"): Ditto. 3161 (define_insn "kunpckdi"): Ditto. 3162 31632015-09-22 Kirill Yukhin <kirill.yukhin@intel.com> 3164 3165 * gcc/config/i386/i386.md (define_split not/xor SWI1248x): Use 3166 iterator instead of fixed modes. 3167 31682015-09-21 Uros Bizjak <ubizjak@gmail.com> 3169 3170 PR middle-end/67619 3171 * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy 3172 the address to a register. 3173 31742015-09-21 Oleg Endo <olegendo@gcc.gnu.org> 3175 3176 Backport from mainline 3177 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org> 3178 3179 PR target/67657 3180 * config/sh/sh.c (sh_remove_overlapping_post_inc, 3181 sh_peephole_emit_move_insn): Add new functions. 3182 * config/sh/sh-protos.h (sh_remove_overlapping_post_inc, 3183 sh_peephole_emit_move_insn): Declere them. 3184 * config/sh/sh.md: Use them in various peephole2 patterns. 3185 31862015-09-21 Richard Biener <rguenther@suse.de> 3187 3188 Backport from mainline 3189 2015-07-08 Richard Biener <rguenther@suse.de> 3190 3191 PR tree-optimization/66793 3192 * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen): 3193 Properly split the block after stmts ending it. 3194 3195 2015-08-05 Richard Biener <rguenther@suse.de> 3196 3197 PR tree-optimization/67055 3198 * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle 3199 NULL gimple_block. 3200 3201 2015-08-05 Richard Biener <rguenther@suse.de> 3202 3203 PR tree-optimization/67121 3204 * tree-if-conv.c (combine_blocks): Clear range-info produced 3205 by stmts no longer executed conditionally. 3206 3207 2015-09-16 Richard Biener <rguenther@suse.de> 3208 3209 PR middle-end/67271 3210 * fold-const.c (native_encode_expr): Bail out on bogus offsets. 3211 3212 2015-07-22 Richard Biener <rguenther@suse.de> 3213 3214 PR tree-optimization/66952 3215 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For 3216 blocks we end up executing unconditionally reset all SSA 3217 info such as range and alignment. 3218 * tree-ssanames.h (reset_flow_sensitive_info): Declare. 3219 * tree-ssanames.c (reset_flow_sensitive_info): New function. 3220 3221 2015-09-15 Richard Biener <rguenther@suse.de> 3222 3223 PR tree-optimization/67470 3224 * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI 3225 structure for PHI hoisting by inserting a forwarder block 3226 if appropriate. 3227 32282015-09-21 Kaz Kojima <kkojima@gcc.gnu.org> 3229 3230 Backport from mainline 3231 2015-09-16 Kaz Kojima <kkojima@gcc.gnu.org> 3232 3233 PR target/67573 3234 * config/sh/sh.md (call_pcrel): Add early clobber to scratch 3235 operand. 3236 (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise. 3237 32382015-09-20 Oleg Endo <olegendo@gcc.gnu.org> 3239 3240 Backport from mainline 3241 2015-09-14 Oleg Endo <olegendo@gcc.gnu.org> 3242 3243 PR target/67061 3244 * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop. 3245 Handle call insns. 3246 32472015-09-19 John David Anglin <danglin@gcc.gnu.org> 3248 3249 * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment 3250 of TARGET_ELF32. 3251 32522015-09-18 John David Anglin <danglin@gcc.gnu.org> 3253 3254 PR middle-end/67401 3255 * optabs.c (expand_atomic_compare_and_swap): Move result of emitting 3256 sync_compare_and_swap_optab libcall to target_oval. 3257 32582015-09-17 Eric Botcazou <ebotcazou@adacore.com> 3259 3260 PR rtl-optimization/66790 3261 * df-problems.c (LIVE): Amend documentation. 3262 32632015-09-17 Marek Polacek <polacek@redhat.com> 3264 3265 Backport from mainline: 3266 2015-08-18 Marek Polacek <polacek@redhat.com> 3267 3268 PR middle-end/67222 3269 * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN 3270 if the call isn't valid. 3271 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using 3272 gimple_call_builtin_p. 3273 (call_may_clobber_ref_p_1): Likewise. 3274 (stmt_kills_ref_p): Likewise. 3275 32762015-09-12 John David Anglin <danglin@gcc.gnu.org> 3277 3278 * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH 3279 CONSTANT_P operands. 3280 32812015-09-10 Oleg Endo <olegendo@gcc.gnu.org> 3282 3283 Backport from mainline 3284 2015-09-10 Oleg Endo <olegendo@gcc.gnu.org> 3285 3286 PR target/67506 3287 * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add 3288 missing simplify_gen_subreg. 3289 32902015-09-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3291 3292 Backport from mainline 3293 2015-08-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3294 3295 * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on 3296 Solaris 12+. 3297 32982015-09-10 Jakub Jelinek <jakub@redhat.com> 3299 3300 PR c++/67523 3301 * gimplify.c (gimplify_omp_for): If inner stmt is not found 3302 for combined loop, assert seen_error () and return GS_ERROR. 3303 3304 PR middle-end/67521 3305 * gimplify.c (gimplify_omp_for): Don't call omp_add_variable 3306 if decl is already in outer->variables. 3307 3308 PR middle-end/67517 3309 * gimplify.c (gimplify_scan_omp_clauses): Instead of 3310 asserting that decl is not specified in octx->variables, 3311 break out of the loop if it is. 3312 3313 PR c++/67514 3314 * gimplify.c (gimplify_omp_for): For loop SIMD construct, if 3315 iterator is not explicitly determined, but is defined inside 3316 of the combined workshare region, handle it like if it has 3317 DECL_EXPR in OMP_FOR_PRE_BODY. 3318 33192015-09-09 Marek Polacek <polacek@redhat.com> 3320 3321 Backport from mainline: 3322 2015-09-09 Marek Polacek <polacek@redhat.com> 3323 3324 PR middle-end/67512 3325 * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison 3326 for comparisons. 3327 33282015-09-09 Alan Modra <amodra@gmail.com> 3329 3330 PR target/67378 3331 * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find 3332 reload replacement for PRE_MODIFY address reg. 3333 33342015-09-07 Ilya Verbin <ilya.verbin@intel.com> 3335 3336 * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all 3337 non-alphanumeric characters in the symbol name. 3338 33392015-09-04 Jakub Jelinek <jakub@redhat.com> 3340 3341 PR middle-end/67452 3342 * tree-ssa-live.c: Include cfgloop.h. 3343 (remove_unused_locals): Clear loop->simduid if simduid is about 3344 to be removed from cfun->local_decls. 3345 33462015-09-03 Richard Biener <rguenther@suse.de> 3347 3348 PR ipa/66705 3349 * tree-ssa-structalias.c (ctor_for_analysis): New function. 3350 (create_variable_info_for_1): Use ctor_for_analysis instead 3351 of get_constructor. 3352 (create_variable_info_for): Likewise. 3353 33542015-09-02 Uros Bizjak <ubizjak@gmail.com> 3355 3356 Backport from mainline: 3357 2015-08-27 Uros Bizjak <ubizjak@gmail.com> 3358 3359 PR target/67317 3360 * config/i386/i386.md (*add<mode>3_cc): Remove insn pattern. 3361 (addqi3_cc): Ditto. 3362 (UNSPEC_ADD_CARRY): Remove. 3363 (addqi3_cconly_overflow): New expander. 3364 (*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow. 3365 Adjust for changed add<mode>3_carry. 3366 (*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry. 3367 (*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry. 3368 (<plusminus_insn><mode>3_carry): Remove expander. 3369 (*<plusminus_insn><mode>3_carry): Split insn pattern to 3370 add<mode>3_carry and sub<mode>3_carry. 3371 (plusminus_carry_mnemonic): Remove code attribute. 3372 (add<mode>3_carry): Canonicalize insn pattern. 3373 (*addsi3_carry_zext): Ditto. 3374 (sub<mode>3_carry): Ditto. 3375 (*subsi3_carry_zext): Ditto. 3376 (adcx<mode>3): Remove insn pattern. 3377 (addcarry<mode>): New insn pattern. 3378 (subborrow<mode>): Ditto. 3379 * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use 3380 gen_addqi3_cconly_overflow instead of gen_addqi3_cc. 3381 (ix86_expand_builtin) <case IX86_BUILTIN_SBB32, 3382 case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32, 3383 case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi, 3384 CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi. 3385 Rewrite expander to not clobber carry flag chains. 3386 33872015-09-02 Alan Modra <amodra@gmail.com> 3388 3389 PR target/67417 3390 * config/rs6000/predicates.md (current_file_function_operand): Don't 3391 return true for weak symbols. 3392 * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise. 3393 33942015-08-31 Marek Polacek <polacek@redhat.com> 3395 3396 Backport from mainline 3397 2015-08-27 Marek Polacek <polacek@redhat.com> 3398 3399 PR middle-end/67005 3400 * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing 3401 an entry into an irreducible region. 3402 34032015-08-27 Pat Haugen <pthaugen@us.ibm.com> 3404 3405 Backport from mainline: 3406 2015-08-27 Pat Haugen <pthaugen@us.ibm.com> 3407 3408 * config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift 3409 instead of a rotate. 3410 34112015-08-26 Renlin Li <renlin.li@arm.com> 3412 3413 Backport from mainline 3414 2015-08-24 Renlin Li <renlin.li@arm.com> 3415 3416 * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare. 3417 * config/arm/arm.c (arm_valid_symbolic_address_p): Define. 3418 * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p. 3419 * config/arm/constraints.md ("j"): Add check for high code. 3420 34212015-08-25 Dominik Vogt <vogt@linux.vnet.ibm.com> 3422 3423 Backport from mainline 3424 2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com> 3425 3426 * config/s390/s390-builtins.def: Fix value range of vec_load_bndry. 3427 34282015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com> 3429 3430 Back port from mainline: 3431 2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com> 3432 3433 PR target/67211 3434 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set 3435 -mefficient-unaligned-vsx on ISA 2.7. 3436 3437 * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert 3438 option to a masked option. 3439 3440 * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework 3441 logic for -mefficient-unaligned-vsx so that it is set via an arch 3442 ISA option, instead of being set if -mtune=power8 is set. Move 3443 -mefficient-unaligned-vsx and -mallow-movmisalign handling to be 3444 near other default option handling. 3445 34462015-08-20 Georg-Johann Lay <avr@gjlay.de> 3447 3448 * config/avr/avr.c (avr_insert_attributes): In diagnostic essage: 3449 Multiply argument avr_n_flash by 64 to match unit of "KiB". 3450 (avr_pgm_check_var_decl): Same. 3451 34522015-08-18 Segher Boessenkool <segher@kernel.crashing.org> 3453 3454 Backport from mainline: 3455 2015-08-08 Segher Boessenkool <segher@kernel.crashing.org> 3456 3457 PR rtl-optimization/67028 3458 * combine.c (simplify_comparison): Fix comment. Rearrange code. 3459 Add test to see if a const_int fits in the new mode. 3460 34612015-08-17 Jason Merrill <jason@redhat.com> 3462 3463 PR c++/65734 3464 * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT. 3465 (finalize_type_size): Respect TYPE_USER_ALIGN. 3466 (layout_type) [ARRAY_TYPE]: Likewise. 3467 34682015-08-17 Yvan Roux <yvan.roux@linaro.org> 3469 3470 Backport from mainline: 3471 2015-08-12 Yvan Roux <yvan.roux@linaro.org> 3472 3473 PR target/67127 3474 * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking 3475 to ARM core registers. 3476 34772015-08-16 Uros Bizjak <ubizjak@gmail.com> 3478 3479 Backport from mainline: 3480 2015-07-25 Uros Bizjak <ubizjak@gmail.com> 3481 3482 PR target/66648 3483 * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop 3484 execution guard when min_size is less than size_needed. 3485 34862015-08-11 Thomas Preud'homme <thomas.preudhomme@arm.com> 3487 3488 Backport from mainline 3489 2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com> 3490 3491 PR tree-optimization/66828 3492 * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc 3493 from int64_t to uint64_t. 3494 34952015-08-07 Kaz Kojima <kkojima@gcc.gnu.org> 3496 3497 Backport from mainline 3498 2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org> 3499 3500 PR target/67002 3501 * config/sh/sh.c (sh_recog_treg_set_expr): Return false when 3502 currently_expanding_to_rtl is set. 3503 35042015-08-07 Kirill Yukhin <kirill.yukhin@intel.com> 3505 3506 * config/i386/i386.md (define_attr "isa"): Addd avx512vl and 3507 noavx512vl. 3508 (define_attr "enabled"): Handle avx521vl and noavx512vl. 3509 * config/i386/sse.md (define_insn "vec_dupv2df<mask_name>"): Split 3510 AVX-512 alternative out of SSE. 3511 (define_insn "*vec_concatv2df"): Ditto. 3512 35132015-08-05 Matthew Wahab <matthew.wahab@arm.com> 3514 3515 Backport from trunk: 3516 2015-06-29 Matthew Wahab <matthew.wahab@arm.com> 3517 3518 PR target/65697 3519 * config/arm/arm.c (arm_split_compare_and_swap): For ARMv8, 3520 replace an initial acquire barrier with final barrier. 3521 35222015-08-05 Matthew Wahab <matthew.wahab@arm.com> 3523 3524 Backport from trunk: 3525 2015-06-29 Matthew Wahab <matthew.wahab@arm.com> 3526 3527 PR target/65697 3528 * config/arm/arm.c (arm_split_atomic_op): For ARMv8, replace an 3529 initial acquire barrier with final barrier. 3530 35312015-08-05 Matthew Wahab <matthew.wahab@arm.com> 3532 3533 Backport from trunk. 3534 2015-06-01 Matthew Wahab <matthew.wahab@arm.com> 3535 3536 PR target/65697 3537 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check 3538 for __sync memory models, emit initial loads and final barriers as 3539 appropriate. 3540 35412015-08-05 Matthew Wahab <matthew.wahab@arm.com> 3542 3543 Backport from trunk. 3544 2015-06-01 Matthew Wahab <matthew.wahab@arm.com> 3545 3546 PR target/65697 3547 * config/aarch64/aarch64.c (aarch64_emit_post_barrier): New. 3548 (aarch64_split_atomic_op): Check for __sync memory models, emit 3549 appropriate initial loads and final barriers. 3550 35512015-08-05 Matthew Wahab <matthew.wahab@arm.com> 3552 3553 Backport from trunk 3554 2015-05-12 Andrew MacLeod <amacleod@redhat.com> 3555 3556 PR target/65697 3557 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros. 3558 (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}. 3559 * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed) 3560 (is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel) 3561 (is_mm_seq_cst, is_mm_sync): New accessor functions. 3562 * builtins.c (expand_builtin_sync_operation) 3563 (expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST. 3564 (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE. 3565 (get_memmodel, expand_builtin_atomic_compare_exchange) 3566 (expand_builtin_atomic_load, expand_builtin_atomic_store) 3567 (expand_builtin_atomic_clear): Use new accessor routines. 3568 (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST. 3569 * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST. 3570 (maybe_emit_sync_lock_test_and_set): Use new accessors and 3571 MEMMODEL_SYNC_ACQUIRE. 3572 (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE. 3573 (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load) 3574 (expand_atomic_store): Use new accessors. 3575 * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases. 3576 * tsan.c (instrument_builtin_call): Update check for memory model beyond 3577 final enum to use MEMMODEL_LAST. 3578 * c-family/c-common.c: Use new accessor for memmodel_base. 3579 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new 3580 accessors. 3581 * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>) 3582 (arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>) 3583 (mem_thread_fence, *dmb): Likewise. 3584 * config/alpha/alpha.c (alpha_split_compare_and_swap) 3585 (alpha_split_compare_and_swap_12): Likewise. 3586 * config/arm/arm.c (arm_expand_compare_and_swap) 3587 (arm_split_compare_and_swap, arm_split_atomic_op): Likewise. 3588 * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>) 3589 (atomic_loaddi): Likewise. 3590 * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check): 3591 Likewise. 3592 * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise. 3593 * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and 3594 use new accessors. 3595 * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>) 3596 (atomic_store<mode>, atomic_compare_and_swap<mode>) 3597 (atomic_exchange<mode>): Use new accessors. 3598 * config/mips/mips.c (mips_process_sync_loop): Likewise. 3599 * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise. 3600 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier) 3601 (rs6000_post_atomic_barrier): Add new cases. 3602 (rs6000_expand_atomic_compare_and_swap): Use new accessors. 3603 * config/rs6000/sync.md (mem_thread_fence): Add new cases. 3604 (atomic_load<mode>): Add new cases and use new accessors. 3605 (store_quadpti): Add new cases. 3606 * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new 3607 accessors. 3608 * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors. 3609 * doc/extend.texi: Update docs to indicate 16 bits are used for memory 3610 model, not 8. 3611 36122015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com> 3613 3614 Backport from mainline: 3615 2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com> 3616 3617 PR target/66731 3618 * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL. 3619 (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math. 3620 3621 2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com> 3622 3623 PR target/66731 3624 * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math. 3625 36262015-08-03 Peter Bergner <bergner@vnet.ibm.com> 3627 3628 Backport from mainline: 3629 2015-08-03 Peter Bergner <bergner@vnet.ibm.com> 3630 3631 * config/rs6000/htm.md (tabort.): Restrict the source operand to 3632 using a base register. 3633 36342015-08-03 John David Anglin <danglin@gcc.gnu.org> 3635 3636 PR target/67060 3637 * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber. 3638 Adjust splits to match new pattern. 3639 36402015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com> 3641 3642 Backport form mainline r226496. 3643 2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com> 3644 3645 PR target/66731 3646 * config/arm/vfp.md (negmuldf3_vfp): Add new pattern. 3647 (negmulsf3_vfp): Likewise. 3648 (muldf3negdf_vfp): Disable for -frounding-math. 3649 (mulsf3negsf_vfp): Likewise. 3650 * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL, 3651 fix MULT cost with -frounding-math. 3652 36532015-07-31 Kaz Kojima <kkojima@gcc.gnu.org> 3654 3655 Backport form mainline 3656 2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org> 3657 3658 PR target/67049 3659 * config/sh/sh.md (GOTaddr2picreg): Fix typo. 3660 36612015-07-31 Vladimir Makarov <vmakarov@redhat.com> 3662 3663 PR debug/66691 3664 * lra-int.h (lra_substitute_pseudo): Add a parameter. 3665 (lra_substitute_pseudo_within_insn): Ditto. 3666 * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg 3667 of constant. 3668 (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it 3669 to lra_substitute_pseudo. 3670 * lra-lives.c (process_bb_lives): Add an argument to 3671 lra_substitute_pseudo_within_insn call. 3672 * lra-constraints.c (inherit_reload_reg, split_reg): Add an 3673 argument to lra_substitute_pseudo and 3674 lra_substitute_pseudo_within_insn calls. 3675 (remove_inheritance_pseudos, undo_optional_reloads): Ditto. 3676 36772015-07-27 Marek Polacek <polacek@redhat.com> 3678 3679 Backport from mainline 3680 2015-07-27 Marek Polacek <polacek@redhat.com> 3681 3682 * ipa-devirt.c (types_same_for_odr): Fix typo. 3683 36842015-07-25 Oleg Endo <olegendo@gcc.gnu.org> 3685 3686 Backport from mainline 3687 2015-07-25 Oleg Endo <olegendo@gcc.gnu.org> 3688 3689 PR target/66930 3690 * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing 3691 T bit register modified_between_p check. 3692 36932015-07-25 Tom de Vries <tom@codesourcery.com> 3694 3695 backport from trunk: 3696 2015-07-24 Tom de Vries <tom@codesourcery.com> 3697 3698 * graphite-sese-to-poly.c (is_reduction_operation_p): Limit 3699 flag_associative_math to FLOAT_TYPE_P. Honour 3700 TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types. 3701 37022015-07-25 Kaz Kojima <kkojima@gcc.gnu.org> 3703 3704 Backport from mainline 3705 2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org> 3706 3707 PR target/65249 3708 * config/sh/sh.md (movdi): Split simple reg move to two movsi 3709 when the destination is R0. 3710 37112015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com> 3712 3713 Backport from mainline r226159. 3714 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com> 3715 3716 * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static, 3717 -shared, -symbolic, -rdynamic. 3718 37192015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com> 3720 3721 Backport from mainline r226158. 3722 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com> 3723 3724 PR target/65711 3725 * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move 3726 -dynamic-linker within %{!static %{!shared, and -rdynamic within 3727 %{!static. 3728 37292015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com> 3730 3731 Backport from mainline r226155. 3732 2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com> 3733 3734 PR ipa/66566 3735 * ipa-inline-analysis.c (estimate_calls_size_and_time): Check 3736 edge summary is available. 3737 37382015-07-23 Uros Bizjak <ubizjak@gmail.com> 3739 3740 Backport from mainline: 3741 2015-07-17 Uros Bizjak <ubizjak@gmail.com> 3742 3743 PR rtl-optimization/66891 3744 * calls.c (expand_call): Wrap precompute_register_parameters with 3745 NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops. 3746 3747 2015-07-15 Uros Bizjak <ubizjak@gmail.com> 3748 3749 PR target/58066 3750 * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG. 3751 (*tls_local_dynamic_base_64_<mode>): Ditto. 3752 (*tls_local_dynamic_base_64_largepic): Ditto. 3753 (tls_global_dynamic_64_<mode>): Update expander pattern. 3754 (tls_local_dynamic_base_64_<mode>): Ditto. 3755 3756 2015-07-15 Uros Bizjak <ubizjak@gmail.com> 3757 3758 PR rtl-optimization/58066 3759 * calls.c (expand_call): Precompute register parameters before stack 3760 alignment is performed. 3761 37622015-07-23 Martin Jambor <mjambor@suse.cz> 3763 3764 Backport from mainline r225867. 3765 2015-07-16 Martin Jambor <mjambor@suse.cz> 3766 3767 * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust 3768 all uses. Fix two typos in its general comment. 3769 (func_body_info): Rename to ipa_func_body_info. Adjust all uses. 3770 37712015-07-23 Martin Jambor <mjambor@suse.cz> 3772 3773 Backport from mainline r225838. 3774 2015-07-15 Paolo Bonzini <bonzini@gnu.org> 3775 Martin Jambor <mjambor@suse.cz> 3776 3777 PR ipa/66760 3778 * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept 3779 struct func_body_info* instead of struct ipa_node_params*, expecting 3780 fbi->info to be filled in. Replace throughout. Adjust call to 3781 ipa_load_from_parm_agg. 3782 (set_cond_stmt_execution_predicate): Accept struct func_body_info* 3783 instead of struct ipa_node_params*. Adjust calls to other functions 3784 so that they pass either fbi or fbi->info. 3785 (set_switch_stmt_execution_predicate): Likewise. 3786 (will_be_nonconstant_predicate): Likewise. 3787 (compute_bb_predicates): Likewise. 3788 (estimate_function_body_sizes): Move asserts earlier. Fill in 3789 struct func_body_info, replace parms_info with fbi.info. Adjust 3790 calls to functions that now accept struct func_body_info. 3791 * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h. 3792 (struct func_body_info): Likewise. 3793 (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg, 3794 remove static. Adjust callers. 3795 (ipa_load_from_parm_agg): Remove. 3796 * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c. 3797 (func_body_info): Likewise. 3798 (ipa_load_from_parm_agg): Adjust prototype. 3799 38002015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com> 3801 3802 Backport from mainline r224643. 3803 2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com> 3804 3805 PR middle-end/pr66581 3806 * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't 3807 reuse bounds created for abnormal ssa names. 3808 38092015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com> 3810 3811 Backport from mainline r224602. 3812 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com> 3813 3814 PR target/66569 3815 * function.c (assign_bounds): Add arguments assign_regs, 3816 assign_special, assign_bt. 3817 (assign_parms): For vararg functions handle bounds in BT 3818 and special slots after incoming vararg bounds. 3819 38202015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com> 3821 3822 Backport from mainline r224601. 3823 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com> 3824 3825 PR middle-end/66568 3826 * cfgexpand.c (expand_return): Handle missing bounds. 3827 (expand_gimple_stmt_1): Likewise. 3828 * tree-chkp.c (chkp_expand_zero_bounds): New. 3829 * tree-chkp.h (chkp_expand_zero_bounds): New. 3830 38312015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com> 3832 3833 Backport from mainline r224600. 3834 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com> 3835 3836 PR middle-end/66567 3837 * ipa-chkp.c (chkp_maybe_create_clone): Require 3838 functions to be instrumentable. 3839 * tree-chkp.c (chkp_replace_function_pointer): Use 3840 chkp_instrumentable_p instead of attribute check. 3841 38422015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com> 3843 3844 Backport from mainline r223215. 3845 2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com> 3846 3847 PR middle-end/66134 3848 * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New. 3849 (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy. 3850 38512015-07-23 Ilya Enkovich <ilya.enkovich@intel.com> 3852 3853 Backport from mainline r223114. 3854 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com> 3855 3856 PR target/66048 3857 * function.c (diddle_return_value_1): Process bounds first. 3858 * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1 3859 register. 3860 38612015-07-23 Ilya Enkovich <ilya.enkovich@intel.com> 3862 3863 Backport from mainline r223216. 3864 2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com> 3865 3866 * ipa-chkp.h (chkp_wrap_function): New. 3867 * ipa-chkp.c (chkp_wrap_function): Remove 'static'. 3868 (chkp_wrap_function_name): New. 3869 (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name 3870 to get wrapper name. 3871 * lto-cgraph.c: Include ipa-chkp.h. 3872 (input_cgraph_1): Avoid alias chain for wrappers. 3873 38742015-07-23 Ilya Enkovich <ilya.enkovich@intel.com> 3875 3876 Backport from mainline r224074. 3877 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com> 3878 3879 * ipa-chkp.c (chkp_maybe_create_clone): Create alias 3880 reference when cloning alias node. 3881 38822015-07-21 Georg-Johann Lay <avr@gjlay.de> 3883 3884 Backport from 2015-07-21 trunk r226046. 3885 3886 PR target/66956 3887 * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn) 3888 (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL. 3889 38902015-07-21 Richard Biener <rguenther@suse.de> 3891 3892 PR tree-optimization/66948 3893 * genmatch.c (capture_info::walk_match): Also recurse to 3894 captures. Properly compute expr state from captures of 3895 captures. 3896 38972015-07-18 Uros Bizjak <ubizjak@gmail.com> 3898 3899 PR target/66922 3900 * config/i386/i386.c (ix86_expand_pinsr): Reject insertions 3901 to misaligned positions. 3902 39032015-07-17 Uros Bizjak <ubizjak@gmail.com> 3904 3905 PR target/66866 3906 * config/i386/i386.c (ix86_expand_pinsr): Reject non-lowpart 3907 source subregs. 3908 39092015-07-17 Uros Bizjak <ubizjak@gmail.com> 3910 3911 Backport from mainline: 3912 2015-07-10 Uros Bizjak <ubizjak@gmail.com> 3913 3914 * config/i386/sse.md (movdi_to_sse): Use gen_lowpart 3915 and gen_higpart instead of gen_rtx_SUBREG. 3916 * config/i386/i386.md 3917 (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto. 3918 (read-modify peephole2): Use gen_lowpart instead of 3919 gen_rtx_SUBREG for operand 5. 3920 39212015-07-17 Uros Bizjak <ubizjak@gmail.com> 3922 3923 Backport from mainline: 3924 2015-07-08 Uros Bizjak <ubizjak@gmail.com> 3925 3926 PR target/66814 3927 * config/i386/predicates.md (nonimmediate_gr_operand): New predicate. 3928 * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand. 3929 (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of 3930 {GENERAL,SSE,MMX}_REG_P where appropriate. 3931 39322015-07-17 Uros Bizjak <ubizjak@gmail.com> 3933 3934 Backport from mainline: 3935 2015-07-15 Uros Bizjak <ubizjak@gmail.com> 3936 3937 PR rtl-optimization/66838 3938 * postreload.c (reload_cse_move2add): Also process 3939 CALL_INSN_FUNCTION_USAGE when resetting information of 3940 call-clobbered registers. 3941 39422015-07-16 Martin Liska <mliska@suse.cz> 3943 3944 PR ipa/66896 3945 * ipa-prop.c (update_jump_functions_after_inlining): Create properly 3946 dst_ctx if it does not exist. 3947 39482015-07-16 Richard Biener <rguenther@suse.de> 3949 3950 * BASE-VER: Set to 5.2.1. 3951 39522015-07-16 Release Manager 3953 3954 * GCC 5.2.0 released. 3955 39562015-07-15 Renlin Li <renlin.li@arm.com> 3957 3958 Backport from mainline. 3959 2015-07-13 Renlin Li <renlin.li@arm.com> 3960 3961 PR rtl/66556 3962 * simplify-rtx.c (simplify_const_relational_operation): Add 3963 side_effects_p checks. 3964 39652015-07-15 Thomas Schwinge <thomas@codesourcery.com> 3966 3967 Backport trunk r225560: 3968 3969 2015-07-08 Thomas Schwinge <thomas@codesourcery.com> 3970 3971 PR libgomp/65099 3972 * config/nvptx/mkoffload.c (main): Create an offload image only in 3973 64-bit configurations. 3974 3975 Backport trunk r222583: 3976 3977 2015-04-29 Thomas Schwinge <thomas@codesourcery.com> 3978 3979 PR libgomp/65099 3980 * config/nvptx/mkoffload.c (target_ilp32): New variable. 3981 (main): Set it depending on "-foffload-abi=[...]". 3982 (compile_native, main): Use it to pass "-m32" or "-m64" to the 3983 compiler. 3984 3985 Backport trunk r223805: 3986 3987 2015-05-28 H.J. Lu <hongjiu.lu@intel.com> 3988 3989 * builtins.c (expand_builtin_acc_on_device): Mark parameters 3990 with ATTRIBUTE_UNUSED. 3991 3992 Backport trunk r223801: 3993 3994 2015-05-28 Julian Brown <julian@codesourcery.com> 3995 3996 PR libgomp/65742 3997 3998 * builtins.c (expand_builtin_acc_on_device): Don't use open-coded 3999 sequence for !ACCEL_COMPILER. 4000 40012015-07-14 Matthias Klose <doko@ubuntu.com> 4002 4003 PR target/66840 4004 * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def. 4005 40062015-07-10 Jakub Jelinek <jakub@redhat.com> 4007 4008 PR middle-end/66820 4009 * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL 4010 or ORT_TASK contexts. 4011 * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level 4012 is non-zero. 4013 4014 Backported from mainline 4015 2015-07-09 Jakub Jelinek <jakub@redhat.com> 4016 4017 PR middle-end/66633 4018 * tree-nested.c (get_static_chain): Or in a flag into 4019 info->static_chain_added. 4020 (get_frame_field, get_nonlocal_debug_decl): Likewise. 4021 (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert 4022 2015-07-01 changes. 4023 (convert_tramp_reference_stmt): If a frame_decl or chain_decl 4024 is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body, 4025 add it to clauses. 4026 40272015-07-10 Vladimir Makarov <vmakarov@redhat.com> 4028 4029 Backport from mainline 4030 2015-07-09 Vladimir Makarov <vmakarov@redhat.com> 4031 4032 PR rtl-optimization/66782 4033 * lra-int.h (struct lra_insn_recog_data): Add comment about 4034 clobbered hard regs for arg_hard_regs. 4035 * lra.c (lra_set_insn_recog_data): Add clobbered hard regs. 4036 * lra-lives.c (process_bb_lives): Process clobbered hard regs. 4037 Add condition for processing used hard regs. 4038 * lra-constraints.c (update_ebb_live_info, inherit_in_ebb): 4039 Process clobbered hard regs. 4040 40412015-07-10 Richard Biener <rguenther@suse.de> 4042 4043 Backport from mainline 4044 2015-07-10 Richard Biener <rguenther@suse.de> 4045 4046 PR tree-optimization/66823 4047 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix 4048 inverted predicate. 4049 4050 2015-07-08 Richard Biener <rguenther@suse.de> 4051 4052 PR middle-end/43341 4053 * toplev.c (compile_file): Reset maximum_field_alignment after parsing. 4054 4055 2015-07-08 Richard Biener <rguenther@suse.de> 4056 4057 PR tree-optimization/66794 4058 * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths): 4059 Free post-dominators. 4060 40612015-07-10 Kaz Kojima <kkojima@gcc.gnu.org> 4062 4063 Backport form mainline 4064 2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org> 4065 4066 PR target/66780 4067 * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03 4068 change for target/65249. 4069 40702015-07-09 Iain Sandoe <iain@codesourcery.com> 4071 4072 PR target/66523 4073 * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label 4074 names from preservation. 4075 40762015-07-06 Alan Lawrence <alan.lawrence@arm.com> 4077 4078 Backport from mainline r225465 4079 2015-07-06 Alan Lawrence <alan.lawrence@arm.com> 4080 4081 PR target/65956 4082 * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer 4083 alignment attribute, exploring one level down for records and arrays. 4084 40852015-07-06 Alan Lawrence <alan.lawrence@arm.com> 4086 4087 Backport from mainline r225461 4088 2015-07-06 Alan Lawrence <alan.lawrence@arm.com> 4089 4090 * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state. 4091 40922015-07-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 4093 4094 Backport from mainline r224725 4095 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 4096 4097 PR target/65914 4098 * config/rs6000/predicates.md (altivec_register_operand): Permit 4099 virtual stack registers. 4100 (vsx_register_operand): Likewise. 4101 (vfloat_operand): Likewise. 4102 (vint_operand): Likewise. 4103 (vlogical_operand): Likewise. 4104 41052015-07-04 John David Anglin <danglin@gcc.gnu.org> 4106 4107 PR target/66114 4108 * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead 4109 of register_operand. Remove constraint. 4110 41112015-07-03 Jack Howarth <howarth.at.gcc@gmail.com> 4112 4113 PR target/66509 4114 * configure.ac: Fix filds and fildq test for 64-bit. 4115 * configure: Regenerated. 4116 41172015-07-03 James Greenhalgh <james.greenhalgh@arm.com> 4118 4119 Backport from mainline. 4120 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com> 4121 4122 PR tree-optimization/66119 4123 * toplev.c (process_options): Don't set up default values for 4124 the sra_max_scalarization_size_{speed,size} parameters. 4125 * tree-sra (analyze_all_variable_accesses): If no values 4126 have been set for the sra_max_scalarization_size_{speed,size} 4127 parameters, call get_move_ratio to get target defaults. 4128 41292015-07-03 Gerald Pfeifer <gerald@pfeifer.com> 4130 4131 PR target/37072 4132 * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387 4133 is not actually the default on FreeBSD. 4134 41352015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4136 4137 * config/s390/s390-builtins.def: Fix vpopct instruction comments. 4138 41392015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4140 4141 Backport from mainline 4142 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4143 4144 * config/s390/s390-builtin-types.def: Add flag to indicate the 4145 options under which the function type is needed. 4146 * config/s390/s390-builtins.def: Add flag to indicate the options 4147 under which the builtin is enabled. 4148 * config/s390/s390-builtins.h: Add flags parameter to macro 4149 definitions. 4150 (bflags_for_builtin): New function. 4151 (flags_for_builtin): Renamed to ... 4152 (opflags_for_builtin): ... this. 4153 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename 4154 flags_for_builtin to bflags_for_builtin and 4155 flags_overloaded_builtin_var to opflags_overloaded_builtin_var. 4156 * config/s390/s390.c: Add initialization of bflags_builtin and 4157 opflags_builtin arrays. 4158 Remove code for flags_builtin. 4159 (s390_init_builtins): Only create builtin function types if one of 4160 their flags is active. 4161 Only create builtins if all of their flags are active. 4162 (s390_expand_builtin): Rename flags_for_builtin to 4163 opflags_for_builtin. 4164 41652015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4166 4167 Backport from mainline 4168 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4169 4170 * config/s390/vecintrin.h: Remove internal builtins. 4171 41722015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4173 4174 Backport from mainline 4175 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4176 4177 * config/s390/s390.c (s390_secondary_reload): Fix check for 4178 GENERAL_REGS register class. 4179 41802015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4181 4182 Backport from mainline 4183 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4184 4185 * config/s390/s390.c (s390_support_vector_misalignment): Call 4186 default implementation for !TARGET_VX. 4187 41882015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4189 4190 Backport from mainline 4191 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4192 4193 * config/s390/s390.c (s390_legitimate_constant_p): Add 4194 TARGET_VX check. 4195 41962015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4197 4198 Backport from mainline 4199 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4200 4201 * config/s390/s390.c (s390_vector_abi): New variable definition. 4202 (s390_check_type_for_vector_abi): New function. 4203 (TARGET_ASM_FILE_END): New macro definition. 4204 (s390_asm_file_end): New function. 4205 (s390_function_arg): Call s390_check_type_for_vector_abi. 4206 (s390_gimplify_va_arg): Likewise. 4207 * configure: Regenerate. 4208 * configure.ac: Check for .gnu_attribute Binutils feature. 4209 42102015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4211 4212 Backport from mainline 4213 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4214 4215 * config/s390/s390.c (s390_vector_bool_type_p): New function. 4216 (s390_invalid_binary_op): New function. 4217 (TARGET_INVALID_BINARY_OP): Define macro. 4218 42192015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4220 4221 Backport from mainline 4222 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4223 4224 * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to 4225 c_target_objs and cxx_target_objs. Add t-s390 to tmake_file. 4226 * config/s390/s390-builtin-types.def: New file. 4227 * config/s390/s390-builtins.def: New file. 4228 * config/s390/s390-builtins.h: New file. 4229 * config/s390/s390-c.c: New file. 4230 * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH, 4231 CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY. 4232 * config/s390/s390-protos.h (s390_expand_vec_compare_cc) 4233 (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add 4234 prototypes. 4235 * config/s390/s390.c (s390-builtins.h, s390-builtins.def): 4236 Include. 4237 (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types) 4238 (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New 4239 variable definitions. 4240 (s390_const_operand_ok): New function. 4241 (s390_expand_builtin): Rewrite. 4242 (s390_init_builtins): New function. 4243 (s390_handle_vectorbool_attribute): New function. 4244 (s390_attribute_table): Add s390_vector_bool attribute. 4245 (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU. 4246 (s390_branch_condition_mask): Generate masks for new modes. 4247 (s390_expand_vec_compare_cc): New function. 4248 (s390_mangle_type): Add mangling for vector bool types. 4249 (enum s390_builtin): Remove. 4250 (s390_atomic_assign_expand_fenv): Rename constants for sfpc and 4251 efpc builtins. 4252 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call 4253 s390_cpu_cpp_builtins. 4254 (REGISTER_TARGET_PRAGMAS): New macro. 4255 * config/s390/s390.md: Define more UNSPEC_VEC_* constants. 4256 (insn_cmp mode attribute): Add new CC modes. 4257 (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc. 4258 (lcbb): New pattern definition. 4259 * config/s390/s390intrin.h: Include vecintrin.h. 4260 * config/s390/t-s390: New file. 4261 * config/s390/vecintrin.h: New file. 4262 * config/s390/vector.md: Include vx-builtins.md. 4263 * config/s390/vx-builtins.md: New file.S/390 zvector builtin 4264 support. 4265 42662015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4267 4268 Backport from mainline 4269 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4270 4271 * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and 4272 CCVFHE. 4273 * config/s390/s390.c (s390_match_ccmode_set): Handle new modes. 4274 (s390_select_ccmode): Likewise. 4275 (s390_canonicalize_comparison): Swap operands if necessary. 4276 (s390_expand_vec_compare_scalar): Expand DFmode compare using 4277 single element vector instructions. 4278 (s390_emit_compare): Call s390_expand_vec_compare_scalar. 4279 (s390_branch_condition_mask): Generate CC masks for the new modes. 4280 * config/s390/s390.md (v0, vf, vd): New mode attributes. 4281 (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes. 4282 (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13) 4283 (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13) 4284 (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13) 4285 (*extend<DSF:mode><BFP:mode>2): New insn definition. 4286 (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2) 4287 (extend<DSF:mode><BFP:mode>2): Turn into expander. 4288 (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3) 4289 (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2) 4290 (sqrt<mode>2): Add vector instruction. 4291 42922015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4293 4294 Backport from mainline 4295 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4296 4297 * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New 4298 constraints. 4299 * config/s390/predicates.md (const0_operand, constm1_operand) 4300 (constable_operand): Accept vector operands. 4301 * config/s390/s390-modes.def: Add supported vector modes. 4302 * config/s390/s390-protos.h (s390_cannot_change_mode_class) 4303 (s390_function_arg_vector, s390_contiguous_bitmask_vector_p) 4304 (s390_bytemask_vector_p, s390_expand_vec_strlen) 4305 (s390_expand_vec_compare, s390_expand_vcond) 4306 (s390_expand_vec_init): Add prototypes. 4307 * config/s390/s390.c (VEC_ARG_NUM_REG): New macro. 4308 (s390_vector_mode_supported_p): New function. 4309 (s390_contiguous_bitmask_p): Mask out the irrelevant bits. 4310 (s390_contiguous_bitmask_vector_p): New function. 4311 (s390_bytemask_vector_p): New function. 4312 (s390_split_ok_p): Vector regs don't work either. 4313 (regclass_map): Add VEC_REGS. 4314 (s390_legitimate_constant_p): Handle vector constants. 4315 (s390_cannot_force_const_mem): Handle CONST_VECTOR. 4316 (legitimate_reload_vector_constant_p): New function. 4317 (s390_preferred_reload_class): Handle CONST_VECTOR. 4318 (s390_reload_symref_address): Likewise. 4319 (s390_secondary_reload): Vector memory instructions only support 4320 short displacements. Rename reload*_nonoffmem* to reload*_la*. 4321 (s390_emit_ccraw_jump): New function. 4322 (s390_expand_vec_strlen): New function. 4323 (s390_expand_vec_compare): New function. 4324 (s390_expand_vcond): New function. 4325 (s390_expand_vec_init): New function. 4326 (s390_dwarf_frame_reg_mode): New function. 4327 (print_operand): Handle addresses with 'O' and 'R' constraints. 4328 (NR_C_MODES, constant_modes): Add vector modes. 4329 (s390_output_pool_entry): Handle vector constants. 4330 (s390_hard_regno_mode_ok): Handle vector registers. 4331 (s390_class_max_nregs): Likewise. 4332 (s390_cannot_change_mode_class): New function. 4333 (s390_invalid_arg_for_unprototyped_fn): New function. 4334 (s390_function_arg_vector): New function. 4335 (s390_function_arg_float): Remove size variable. 4336 (s390_pass_by_reference): Handle vector arguments. 4337 (s390_function_arg_advance): Likewise. 4338 (s390_function_arg): Likewise. 4339 (s390_return_in_memory): Vector values are returned in a VR if 4340 possible. 4341 (s390_function_and_libcall_value): Handle vector arguments. 4342 (s390_gimplify_va_arg): Likewise. 4343 (s390_call_saved_register_used): Consider the arguments named. 4344 (s390_conditional_register_usage): Disable v16-v31 for non-vec 4345 targets. 4346 (s390_preferred_simd_mode): New function. 4347 (s390_support_vector_misalignment): New function. 4348 (s390_vector_alignment): New function. 4349 (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE) 4350 (TARGET_VECTOR_MODE_SUPPORTED_P) 4351 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN) 4352 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE) 4353 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT) 4354 (TARGET_VECTOR_ALIGNMENT): Define target macro. 4355 * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro. 4356 (FIRST_PSEUDO_REGISTER): Increase value. 4357 (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P) 4358 (VECTOR_REG_P): Define macros. 4359 (FIXED_REGISTERS, CALL_USED_REGISTERS) 4360 (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER) 4361 (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES) 4362 (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES): 4363 Add vector registers. 4364 (CANNOT_CHANGE_MODE_CLASS): Call C function. 4365 (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS. 4366 (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without 4367 memory. 4368 (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO) 4369 (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro. 4370 * config/s390/s390.md (UNSPEC_VEC_*): New constants. 4371 (VR*_REGNUM): New constants. 4372 (ALL): New mode iterator. 4373 (INTALL): Remove mode iterator. 4374 Include vector.md. 4375 (movti): Implement TImode moves for VRs. 4376 Disable TImode splitter for VR targets. 4377 Implement splitting TImode GPR<->VR moves. 4378 (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL. 4379 (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to 4380 reload<mode>_la_in, reload<mode>_la_out. 4381 (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp) 4382 (*mov<mode>_64, *mov<mode>_31): Add vector instructions. 4383 (TD/TF mode splitter): Enable for GPRs only (formerly !FP). 4384 (mov<mode> SF SD): Prefer lder, lde for loading. 4385 Add lrl and strl instructions. 4386 Add vector instructions. 4387 (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>. 4388 Call s390_expand_vec_strlen on z13. 4389 (*cc_to_int): Change predicate to nonimmediate_operand. 4390 (addti3): Rename to *addti3. New expander. 4391 (subti3): Rename to *subti3. New expander. 4392 * config/s390/vector.md: New file. 4393 43942015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4395 4396 Backport from mainline 4397 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4398 4399 * common/config/s390/s390-common.c (processor_flags_table): Add 4400 z13. 4401 * config.gcc: Add z13. 4402 * config/s390/s390-opts.h (enum processor_type): Add 4403 PROCESSOR_2964_Z13. 4404 * config/s390/s390.c (s390_adjust_priority): Check for 4405 PROCESSOR_2964_Z13. 4406 (s390_reorg): Likewise. 4407 (s390_sched_reorder): Likewise. 4408 (s390_sched_variable_issue): Likewise. 4409 (s390_loop_unroll_adjust): Likewise. 4410 (s390_option_override): Likewise. Default to -mvx when available. 4411 * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX. 4412 (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX) 4413 (TARGET_VX_ABI): Define macros. 4414 macros. 4415 (TARGET_DEFAULT): Add MASK_OPT_VX. 4416 * config/s390/s390.md ("cpu" attribute): Add z13. 4417 ("cpu_facility" attribute): Add vec. 4418 * config/s390/s390.opt (processor_type): Add z13. 4419 (mvx): New options. 4420 * doc/invoke.texi: Add z13 option for -march. 4421 44222015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4423 4424 Backport from mainline 4425 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4426 4427 * optabs.c (expand_vec_perm): Don't re-use SEL as target operand. 4428 44292015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4430 4431 Backport from mainline 4432 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 4433 4434 * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of 4435 alternative_mask to uint64_t. 4436 44372015-07-02 Jakub Jelinek <jakub@redhat.com> 4438 4439 Backported from mainline 4440 2015-06-08 Jakub Jelinek <jakub@redhat.com> 4441 4442 * genattrtab.c (insn_alternatives): Change type from int * 4443 to uint64_t *. 4444 (check_attr_test): Shift ((uint64_t) 1) instead of 1 up. 4445 (get_attr_value): Change type of num_alt to uint64_t. 4446 (compute_alternative_mask): Change return type from 4447 int to uint64_t, shift ((uint64_t) 1) instead of 1 up. 4448 (make_alternative_compare, mk_attr_alt): Change argument type 4449 from int to uint64_t. 4450 (simplify_test_exp): Change type of i from int to uint64_t. 4451 Shift ((uint64_t) 1) instead of 1 up. 4452 (main): Adjust oballocvec first argument from int to uint64_t. 4453 Shift ((uint64_t) 1) instead of 1 up. 4454 44552015-07-01 Kaz Kojima <kkojima@gcc.gnu.org> 4456 4457 2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org> 4458 PR target/64833 4459 * config/sh/sh.md (casesi_worker_1): Set length to 8 when 4460 flag_pic is set. 4461 44622015-07-01 David Malcolm <dmalcolm@redhat.com> 4463 4464 Backport from mainline r225207 4465 2015-06-30 David Malcolm <dmalcolm@redhat.com> 4466 4467 * typed-splay-tree.h: New file. 4468 44692015-07-01 Eric Botcazou <ebotcazou@adacore.com> 4470 4471 PR middle-end/66633 4472 * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain 4473 to true if the function is nested and if not optimizing. 4474 (convert_local_omp_clauses): Initialize need_frame to true if the 4475 function contains nested functions and if not optimizing. 4476 44772015-06-30 Jakub Jelinek <jakub@redhat.com> 4478 4479 PR middle-end/66702 4480 * omp-low.c (simd_clone_adjust): Handle addressable linear 4481 or uniform parameters or non-gimple type uniform parameters. 4482 44832015-06-30 Eric Botcazou <ebotcazou@adacore.com> 4484 4485 * config/sparc/leon.md (leon_load): Enable for all LEON variants if 4486 -mfix-ut699 is not specified. 4487 (leon3_load): Rename into... 4488 (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699 4489 is specified. 4490 44912015-06-30 Szabolcs Nagy <szabolcs.nagy@arm.com> 4492 4493 Backport from mainline: 4494 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com> 4495 4496 PR target/66136 4497 * config/aarch64/geniterators.sh: Rewrite in awk. 4498 44992015-06-27 James Greenhalgh <james.greenhalgh@arm.com> 4500 4501 Backport from mainline r224672. 4502 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com> 4503 4504 * config/vax/vax.md: Adjust sign/zero extend patterns to 4505 handle SUBREGs in operands[1]. 4506 45072015-06-27 Oleg Endo <olegendo@gcc.gnu.org> 4508 4509 Backport from mainline 4510 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org> 4511 4512 PR target/65979 4513 PR target/66611 4514 * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if 4515 the replacement insn will work. 4516 45172015-06-26 Martin Jambor <mjambor@suse.cz> 4518 4519 PR debug/66301 4520 * tree-ssa-pre.c (before_dom_children): Check that dump_file is not 4521 NULL instead of calling dump_enabled_p. 4522 45232015-06-26 Uros Bizjak <ubizjak@gmail.com> 4524 Segher Boessenkool <segher@kernel.crashing.org> 4525 4526 PR target/66412 4527 * config/i386/i386.md (various splitters): Use shallow_copy_rtx 4528 before doing PUT_MODE or PUT_CODE on operands to avoid 4529 in-place RTX modification. 4530 45312015-06-25 Andreas Tobler <andreast@gcc.gnu.org> 4532 4533 Backport from mainline 4534 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org> 4535 4536 * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build 4537 pie executables. 4538 (FBSD_ENDFILE_SPEC): Likewise. 4539 * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from 4540 config/freebsd-spec.h. 4541 (ENDFILE_SPEC): Likewise. 4542 45432015-06-25 Kaz Kojima <kkojima@gcc.gnu.org> 4544 4545 Backport from mainline 4546 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org> 4547 4548 PR target/66563 4549 * config/sh/sh.md (GOTaddr2picreg): Add a new operand for 4550 an additional element of the unspec vector. Modify indices 4551 of operands. 4552 (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg. 4553 * config/sh/sh.c (prepare_move_operands): Pass incremented 4554 const_int to gen_GOTaddr2picreg. 4555 (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg. 4556 45572015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 4558 4559 Backport from mainline. 4560 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 4561 PR target/63408 4562 * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable 4563 for negative numbers. 4564 45652015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 4566 4567 PR target/66200 4568 * config/aarch64/aarch64.c (TARGET_RELAXED_ORDERING): Define. 4569 45702015-06-24 Renlin Li <renlin.li@arm.com> 4571 4572 Backport from mainline 4573 2015-06-24 Renlin Li <renlin.li@arm.com> 4574 4575 * varasm.c (emit_local): Use unsigned int for align variable. 4576 45772015-06-23 Richard Biener <rguenther@suse.de> 4578 4579 Backport from mainline 4580 2015-06-09 Richard Biener <rguenther@suse.de> 4581 4582 PR middle-end/66413 4583 * tree-inline.c (insert_init_debug_bind): Unshare value. 4584 45852015-06-23 Ludovic Court��s <ludo@gnu.org> 4586 4587 PR 65711 4588 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move 4589 '-dynamic-linker' within %{!shared: ...}. 4590 45912015-06-22 Vladimir Makarov <vmakarov@redhat.com> 4592 4593 PR bootstrap/63740 4594 * lra-lives.c (process_bb_lives): Check insn copying the same 4595 reload pseudo and don't create a copy for it. 4596 45972015-06-22 Richard Biener <rguenther@suse.de> 4598 4599 Backport from mainline 4600 2015-06-08 Richard Biener <rguenther@suse.de> 4601 4602 PR tree-optimization/66422 4603 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split 4604 block after inserted gcc_unreachable. 4605 46062015-06-21 Marek Polacek <polacek@redhat.com> 4607 4608 Backport from mainline 4609 2015-06-20 Marek Polacek <polacek@redhat.com> 4610 4611 * common.opt (fsanitize-undefined-trap-on-error): Add Driver. 4612 46132015-06-18 Richard Biener <rguenther@suse.de> 4614 4615 Backport from mainline 4616 2015-06-03 Richard Biener <rguenther@suse.de> 4617 4618 PR tree-optimization/66375 4619 * tree-scalar-evolution.c (follow_ssa_edge_binary): First 4620 add to the evolution before following SSA edges. 4621 46222015-06-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com> 4623 4624 Backport from mainline r224414. 4625 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com> 4626 4627 * common/config/i386/i386-common.c 4628 (OPTION_MASK_ISA_MWAITX_SET): New. 4629 (ix86_handle_option): Handle mwaitx. 4630 * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h, 4631 (x86_64-*-*): Likewise. 4632 * config/i386/mwaitxintrin.h: New header. 4633 * config/i386/cpuid.h (bit_MWAITX): Define. 4634 * config/i386/driver-i386.c (host_detect_local_cpu): Detect 4635 MWAITX support. 4636 * config/i386/i386.opt (mwaitx): New. 4637 * config/i386/i386-builtin-types.def 4638 (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type. 4639 * config/i386/i386-c.c: Define __MWAITX__ if needed. 4640 * config/i386/i386.c (ix86_target_string): Define -mmwaitx option. 4641 (PTA_MWAITX): New. 4642 (ix86_option_override_internal): Handle new option. 4643 (processor_alias_table): Added PTA_MWAITX. 4644 (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx. 4645 (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX. 4646 (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and 4647 IX86_BUILTIN_MONITORX built-ins. 4648 * config/i386/i386.h (TARGET_MWAITX): New. 4649 * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and 4650 UNSPEC_MONITORX. 4651 (mwaitx): New pattern. 4652 (monitorx_<mode>): New pattern. 4653 * config/i386/x86intrin.h: Include mwaitxintrin.h. 4654 * doc/extend.texi: Document monitorx and mwaitx builtins. 4655 * doc/invoke.texi: Document -mmwaitx option. 4656 46572015-06-17 Jakub Jelinek <jakub@redhat.com> 4658 4659 PR middle-end/66429 4660 * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun 4661 instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops 4662 and has_force_vectorize_loops flags from cfun into 4663 child_cfun. 4664 (expand_omp_simd): For broken loop, set cfun->has_simduid_loops 4665 if simduid is non-NULL. 4666 * tree-pass.h (make_pass_simduid_cleanup): New prototype. 4667 * passes.def (pass_simduid_cleanup): Add new pass after loop 4668 passes. 4669 * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary 4670 indirection from htab argument's type. 4671 (shrink_simd_arrays): New function. 4672 (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller. 4673 Don't call adjust_simduid_builtins if there are no loops. 4674 (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables. 4675 (pass_simduid_cleanup::execute): New method. 4676 (make_pass_simduid_cleanup): New function. 4677 46782015-06-17 Ilya Enkovich <ilya.enkovich@intel.com> 4679 4680 Backport from mainline r223929. 4681 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com> 4682 4683 PR target/65527 4684 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add 4685 redirection for instrumented calls. 4686 * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds. 4687 (append_compiler_options): Append -fcheck-pointer-bounds. 4688 * tree-chkp.h (chkp_copy_call_skip_bounds): New. 4689 (chkp_redirect_edge): New. 4690 * tree-chkp.c (chkp_copy_call_skip_bounds): New. 4691 (chkp_redirect_edge): New. 4692 46932015-06-17 Ilya Enkovich <ilya.enkovich@intel.com> 4694 4695 Backport from mainline r224063. 4696 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com> 4697 4698 * ipa.c (symbol_table::remove_unreachable_nodes): Don't 4699 remove instumentation thunks calling reachable functions. 4700 * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP. 4701 * lto/lto-partition.c (privatize_symbol_name_1): New. 4702 (privatize_symbol_name): Privatize both decl and orig_decl 4703 names for instrumented functions. 4704 * cgraph.c (cgraph_node::verify_node): Add transparent 4705 transparent alias chain check for instrumented node. 4706 47072015-06-16 Jim Wilson <jim.wilson@linaro.org> 4708 4709 Backport from mainline 4710 2015-06-02 Jim Wilson <jim.wilson@linaro.org> 4711 4712 PR target/66258 4713 * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change 4714 !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT. 4715 (aarch64_secondary_reload): Likewise 4716 (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY 4717 to !TARGET_FLOAT. 4718 (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs): 4719 Likewise. 4720 47212015-06-16 Richard Biener <rguenther@suse.de> 4722 4723 Revert 4724 2015-06-01 Richard Biener <rguenther@suse.de> 4725 4726 Backport from mainline 4727 2015-05-26 Michael Matz <matz@suse.de> 4728 4729 PR middle-end/66251 4730 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set 4731 STMT_VINFO_VEC_STMT, also with SLP. 4732 4733 2015-05-22 Richard Biener <rguenther@suse.de> 4734 4735 PR tree-optimization/66251 4736 * tree-vect-stmts.c (vectorizable_conversion): Properly 4737 set STMT_VINFO_VEC_STMT even for the SLP case. 4738 47392015-06-11 Pierre-Marie de Rodat <derodat@adacore.com> 4740 4741 Backport from mainline: 4742 2015-06-11 David Edelsohn <dje.gcc@gmail.com> 4743 4744 * dbxout.c (xcoff_debug_hooks): Provide a function for 4745 register_main_translation_unit hook. 4746 47472015-06-11 John David Anglin <danglin@gcc.gnu.org> 4748 4749 * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus 4750 CONST_INT for goto. 4751 47522015-06-11 Eric Botcazou <ebotcazou@adacore.com> 4753 4754 PR bootstrap/66252 4755 * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment. 4756 * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order. 4757 (*addx_extend_sp32): Fix pasto. 4758 (*subx_extend): Rename into... 4759 (*subx_extend_sp32): ...this. 4760 (*adddi3_extend_sp32): Add earlyclobber. 4761 (*subdi3_insn_sp32): Likewise. 4762 (*subdi3_extend_sp32): Likewise. 4763 (*and_not_di_sp32): Likewise. 4764 (*or_not_di_sp32): Likewise. 4765 (*xor_not_di_sp32): Likewise. 4766 (*negdi2_sp32): Likewise. 4767 (*one_cmpldi2_sp32): Likewise. 4768 47692015-06-11 Pierre-Marie de Rodat <derodat@adacore.com> 4770 4771 * debug.h (struct gcc_debug_hooks): Add a 4772 register_main_translation_unit hook. 4773 * debug.c (do_nothing_debug_hooks): Provide a function for this 4774 new hook. 4775 * dbxout.c (dbx_debug_hooks): Likewise. 4776 * sdbout.c (sdb_debug_hooks): Likewise. 4777 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. 4778 * dwarf2out.c (main_translation_unit): New global variable. 4779 (dwarf2out_register_main_translation_unit): New function 4780 implementing the new hook. 4781 (dwarf2_debug_hooks): Assign 4782 dwarf2out_register_main_translation_unit to this new hook. 4783 (dwarf2out_init): Associate any main translation unit to 4784 comp_unit_die (). 4785 47862015-06-10 Uros Bizjak <ubizjak@gmail.com> 4787 4788 PR target/66473 4789 * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode 4790 to prepare mask operand for AVX512 modes. 4791 47922015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com> 4793 4794 Backport from mainline: 4795 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com> 4796 4797 PR target/66474 4798 * doc/md.texi (Machine Constraints): Document that on the PowerPC 4799 if you use a constraint that targets a VSX register, you must use 4800 %x<n> in the template. 4801 48022015-06-10 Jakub Jelinek <jakub@redhat.com> 4803 4804 PR target/66470 4805 * config/i386/i386.c (ix86_split_long_move): For collisions 4806 involving direct tls segment refs, move the UNSPEC_TP possibly 4807 wrapped in ZERO_EXTEND out of the address for lea, to each of 4808 the memory loads. 4809 48102015-06-08 Uros Bizjak <ubizjak@gmail.com> 4811 4812 Backport from mainline: 4813 2015-06-03 Uros Bizjak <ubizjak@gmail.com> 4814 4815 PR target/66275 4816 * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi 4817 to determine current function ABI. 4818 (ix86_function_value_regno_p): Ditto. 4819 48202015-06-08 Tom de Vries <tom@codesourcery.com> 4821 4822 backport from mainline: 4823 2015-06-08 Tom de Vries <tom@codesourcery.com> 4824 4825 PR rtl-optimization/66444 4826 * postreload.c (reload_combine): Use get_call_reg_set_usage instead of 4827 call_used_regs. 4828 48292015-06-08 Venkataramanan Kumar <venkataramanan.kumar@amd.com> 4830 4831 * config/i386/sse.md (sse3_mwait): Swap the operand constriants. 4832 48332015-06-06 John David Anglin <danglin@gcc.gnu.org> 4834 4835 PR bootstrap/66319 4836 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin 4837 defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++. 4838 Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or 4839 later. 4840 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise. 4841 Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901, 4842 _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520, 4843 _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++ 4844 and non iso if unix2003. 4845 48462015-06-03 Richard Biener <rguenther@suse.de> 4847 4848 Backport from mainline 4849 2015-06-02 Richard Biener <rguenther@suse.de> 4850 4851 PR debug/65549 4852 * dwarf2out.c (lookup_context_die): New function. 4853 (resolve_addr): Avoid forcing a full DIE for the 4854 target of a DW_TAG_GNU_call_site during late compilation. 4855 Instead create a stub DIE without a type if we have a 4856 context DIE present. 4857 4858 2015-06-01 Richard Biener <rguenther@suse.de> 4859 4860 PR tree-optimization/66280 4861 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern 4862 def-use walking. 4863 4864 2015-05-27 Richard Biener <rguenther@suse.de> 4865 4866 PR tree-optimization/66272 4867 Revert parts of 4868 2014-08-15 Richard Biener <rguenther@suse.de> 4869 4870 PR tree-optimization/62031 4871 * tree-data-ref.c (dr_analyze_indices): Do not set 4872 DR_UNCONSTRAINED_BASE. 4873 (dr_may_alias_p): All indirect accesses have to go the 4874 formerly DR_UNCONSTRAINED_BASE path. 4875 * tree-data-ref.h (struct indices): Remove 4876 unconstrained_base member. 4877 (DR_UNCONSTRAINED_BASE): Remove. 4878 4879 2015-05-21 Richard Biener <rguenther@suse.de> 4880 4881 PR c++/66211 4882 * match.pd: Guard pattern optimzing (int)(float)int 4883 conversions to apply only on GIMPLE. 4884 4885 2015-05-13 Richard Biener <rguenther@suse.de> 4886 4887 PR tree-optimization/66123 4888 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found 4889 a taken edge. 4890 48912015-06-02 Renlin Li <renlin.li@arm.com> 4892 4893 Backport from mainline 4894 2015-04-30 Renlin Li <renlin.li@arm.com> 4895 4896 * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec. 4897 * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR. 4898 48992015-06-02 Marek Polacek <polacek@redhat.com> 4900 4901 Backport from mainline 4902 2015-06-02 Marek Polacek <polacek@redhat.com> 4903 4904 PR middle-end/66345 4905 * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if 4906 get_maxval_strlen does not produce an INTEGER_CST. 4907 49082015-06-02 Alan Modra <amodra@gmail.com> 4909 4910 * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental 4911 2014-08-11 change. 4912 49132015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com> 4914 4915 Backport from mainline 4916 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com> 4917 4918 PR target/66215 4919 * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs 4920 with -mhotpatch=. 4921 49222015-06-01 Richard Biener <rguenther@suse.de> 4923 4924 Backport from mainline 4925 2015-05-26 Michael Matz <matz@suse.de> 4926 4927 PR middle-end/66251 4928 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set 4929 STMT_VINFO_VEC_STMT, also with SLP. 4930 4931 2015-05-22 Richard Biener <rguenther@suse.de> 4932 4933 PR tree-optimization/66251 4934 * tree-vect-stmts.c (vectorizable_conversion): Properly 4935 set STMT_VINFO_VEC_STMT even for the SLP case. 4936 49372015-05-28 Mike Frysinger <vapier@gentoo.org> 4938 4939 * config/nios2/linux.h (CPP_SPEC): Define. 4940 49412015-05-28 Mike Frysinger <vapier@gentoo.org> 4942 4943 * config/microblaze/linux.h (CPP_SPEC): Define. 4944 49452015-05-28 Mike Frysinger <vapier@gentoo.org> 4946 4947 * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when 4948 -pthread is specified. 4949 49502015-05-27 John David Anglin <danglin@gcc.gnu.org> 4951 4952 PR target/66148 4953 * config/pa/pa.c (pa_emit_move_sequence): Correct placement of 4954 REG_EQUAL note when doing insert. 4955 49562015-05-27 Richard Biener <rguenther@suse.de> 4957 4958 Backport from mainline 4959 2015-05-12 Richard Biener <rguenther@suse.de> 4960 4961 PR tree-optimization/66101 4962 * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for 4963 fixup if we turn a loop exit edge to a fallthru edge. 4964 49652015-05-26 Oleg Endo <olegendo@gcc.gnu.org> 4966 4967 PR target/65979 4968 * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and 4969 take into account the case that operands[1] and operands[2] 4970 are the same register. 4971 49722015-05-22 Jakub Jelinek <jakub@redhat.com> 4973 4974 Backported from mainline 4975 2015-05-21 Jakub Jelinek <jakub@redhat.com> 4976 4977 PR tree-optimization/66233 4978 * match.pd (ocvt (icvt@1 @0)): Don't handle vector types. 4979 Simplify. 4980 4981 2015-05-19 Jakub Jelinek <jakub@redhat.com> 4982 4983 PR middle-end/66199 4984 * tree.h (OMP_TEAMS_COMBINED): Define. 4985 * gimplify.c (enum gimplify_omp_var_data): Add 4986 GOVD_LINEAR_LASTPRIVATE_NO_OUTER. 4987 (enum omp_region_type): Add ORT_COMBINED_TEAMS. 4988 (omp_notice_variable): Accept both ORT_TEAMS 4989 and ORT_COMBINED_TEAMS. Don't recurse if 4990 GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either 4991 GOVD_LINEAR is set, or GOVD_LASTPRIVATE without 4992 GOVD_FIRSTPRIVATE. 4993 (omp_no_lastprivate): New function. 4994 (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE 4995 and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't 4996 notice_outer and set appropriate bits, otherwise make 4997 sure default(none) combined constructs won't complain. 4998 (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR 4999 outer special casing, for OMP_CLAUSE_LASTPRIVATE if 5000 omp_no_lastprivate either remove the clause or turn it 5001 into OMP_CLAUSE_PRIVATE. 5002 (gimplify_omp_for): Fix up handling of implicit 5003 lastprivate or linear iterators. 5004 (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use 5005 ORT_COMBINED_TEAMS. 5006 * omp-low.c (lower_omp_for_lastprivate): For combined 5007 for simd use fd.loop.n2 from the for rather than simd. 5008 5009 2015-05-13 Jakub Jelinek <jakub@redhat.com> 5010 5011 PR middle-end/66133 5012 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion, 5013 make sure it is never noreturn, even when the task body does not 5014 return. 5015 (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE 5016 right before GIMPLE_OMP_RETURN. 5017 (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont 5018 for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to 5019 GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit. 5020 50212015-05-21 Sandra Loosemore <sandra@codesourcery.com> 5022 5023 Backport from mainline r223418: 5024 * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all 5025 to build a biarch toolchain again. 5026 50272015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com> 5028 5029 Backport from mainline r223471 5030 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com> 5031 5032 PR middle-end/66221 5033 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use 5034 build_distinct_type_copy to copy bounds. 5035 50362015-05-19 Uros Bizjak <ubizjak@gmail.com> 5037 5038 PR target/66174 5039 * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and 5040 QImode inner modes for TARGET_AVX512BW. Force mask operand 5041 to a register for AVX512F modes. 5042 50432015-04-16 Jan Hubicka <hubicka@ucw.cz> 5044 5045 PR target/66047 5046 * i386.c (ix86_function_sseregparm): Only return -1 if local function 5047 with implied regparm is called from -mno-sse function. 5048 (init_cumulative_args): Output error if ix86_function_sseregparm 5049 return -1 and SSE register would be needed. 5050 (function_arg_advance_32): Likewise. 5051 (function_arg_32): Likewise. 5052 * i386.h (ix86_args): Add decl field. 5053 50542015-04-16 Jan Hubicka <hubicka@ucw.cz> 5055 5056 PR target/66047 5057 * i386.c (ix86_function_sseregparm): Only return -1 if local function 5058 with implied regparm is called from -mno-sse function. 5059 (init_cumulative_args): Output error if ix86_function_sseregparm 5060 return -1 and SSE register would be needed. 5061 (function_arg_advance_32): Likewise. 5062 (function_arg_32): Likewise. 5063 * i386.h (ix86_args): Add decl field. 5064 * gcc.target/i386/pr66047.c: New testcase. 5065 50662015-04-16 Jan Hubicka <hubicka@ucw.cz> 5067 5068 PR ipa/65873 5069 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always 5070 inlines across optimization boundary; be tolerant about COMDAT; 5071 allow inlining across -fstrict-aliasing boundary. 5072 50732015-05-16 Segher Boessenkool <segher@kernel.crashing.org> 5074 5075 Backport from mainline 5076 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org> 5077 5078 PR rtl-optimization/30967 5079 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider 5080 destination mode for the cost of scc patterns. 5081 50822015-05-16 Uros Bizjak <ubizjak@gmail.com> 5083 5084 PR target/66140 5085 * config/alpha/alpha.c (get_aligned_mem): Also look for reload 5086 replacements in memory addresses. 5087 (get_unaligned_address): Ditto. 5088 50892015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5090 5091 Backport from mainline 5092 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5093 5094 PR target/65955 5095 * config/arm/arm.md (movcond_addsi): Check that operands[2] is a 5096 REG before taking its REGNO. 5097 50982015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 5099 5100 * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int 5101 and zEC12_simple_fp. 5102 * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12 5103 to 1. 5104 51052015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5106 5107 Backport from mainline 5108 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5109 5110 * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH): 5111 Increase to 128. 5112 (aarch64_rewrite_selected_cpu): Do not chop off extensions starting 5113 at '.'. Assert that there's enough space for everything. 5114 51152015-05-12 Yvan Roux <yvan.roux@linaro.org> 5116 5117 Backport from mainline. 5118 2015-05-05 Yvan Roux <yvan.roux@linaro.org> 5119 5120 * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define. 5121 (LINK_SPEC): Include CA53_ERR_843419_SPEC. 5122 * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define. 5123 (LINK_SPEC): Include CA53_ERR_843419_SPEC. 5124 * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option. 5125 * configure: Regenerate. 5126 * configure.ac: Add --enable-fix-cortex-a53-843419 option. 5127 * doc/install.texi (aarch64*-*-*): Document new 5128 --enable-fix-cortex-a53-843419 option. 5129 * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419 5130 and -mno-fix-cortex-a53-843419 options. 5131 51322015-05-11 Uros Bizjak <ubizjak@gmail.com> 5133 5134 * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn) 5135 when looking for memory references. 5136 51372015-05-11 Jakub Jelinek <jakub@redhat.com> 5138 5139 PR target/65780 5140 * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to 5141 default_binds_local_p_2. 5142 * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise. 5143 * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise. 5144 51452015-05-07 Uros Bizjak <ubizjak@gmail.com> 5146 5147 PR target/66015 5148 * config/alpha/alpha.c (alpha_override_options_after_change): New. 5149 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New. 5150 (alpha_override_options): Move align_loops, align_jumps and 5151 align_functions handling into alpha_override_options_after_change. 5152 51532015-05-06 Uros Bizjak <ubizjak@gmail.com> 5154 5155 PR target/65990 5156 * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out 5157 if rep_8byte stringop strategy was specified for 32-bit target. 5158 51592015-05-06 Christian Bruel <christian.bruel@st.com> 5160 5161 PR target/66015 5162 * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops, 5163 align_jumps, align_functions into aarch64_override_options_after_change. 5164 51652015-05-05 Peter Bergner <bergner@vnet.ibm.com> 5166 5167 Backport from mainline. 5168 2015-04-27 Peter Bergner <bergner@vnet.ibm.com> 5169 5170 PR target/64579 5171 * config/rs6000/htm.md: Remove all define_expands. 5172 (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC, 5173 UNSPECV_HTM_TABORTWCI): Remove. 5174 (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New. 5175 (tabort_internal, tbegin_internal, tcheck_internal, tend_internal, 5176 trechkpt_internal, treclaim_internal, tsr_internal): Rename from this... 5177 (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this. 5178 (tabortdc_internal, tabortdci_internal, tabortwc_internal, 5179 tabortwci_internal): Remove define_insns. 5180 (tabort<wd>c, tabort<wd>ci): New define_insns. 5181 (tabort): Use gpc_reg_operand. 5182 (tcheck): Remove operand. 5183 (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro. 5184 * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as 5185 expected value. 5186 * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove. 5187 (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR. 5188 (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin, 5189 tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend, 5190 tsr, ttest): Pass in the RS6000_BTC_CR attribute. 5191 (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr, 5192 get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute. 5193 (tcheck): Remove builtin argument. 5194 * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64 5195 not TARGET_64BIT. 5196 (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the 5197 tabortdc and tabortdci builtins when not in 64-bit mode. 5198 Modify code to handle the loss of the HTM define_expands. 5199 Emit code to copy the CR register to TARGET. 5200 (htm_init_builtins): Modify code to handle the loss of the HTM 5201 define_expands. 5202 * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete. 5203 (RS6000_BTC_64BIT): Likewise. 5204 (RS6000_BTC_CR): New macro. 5205 * doc/extend.texi: Update documentation for htm builtins. 5206 52072015-05-04 Jakub Jelinek <jakub@redhat.com> 5208 5209 PR tree-optimization/65984 5210 * ubsan.c: Include tree-cfg.h. 5211 (instrument_bool_enum_load): Use stmt_ends_bb_p instead of 5212 stmt_could_throw_p test, rename can_throw variable to ends_bb. 5213 5214 * Makefile.in (PATCHLEVEL_c): New variable. 5215 (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0, 5216 expand the same way as if DEVPHASE_c was non-empty. 5217 52182015-05-04 Kai Tietz <ktietz@redhat.com> 5219 5220 Backmerge from trunk. 5221 5222 PR lto/65559 5223 * lto-wrapper.c (run_gcc): Open filename 5224 in binary-mode. 5225 52262015-04-30 Paolo Carlini <paolo.carlini@oracle.com> 5227 5228 PR c++/65801 5229 * doc/invoke.texi ([-Wnarrowing]): Update. 5230 52312015-04-30 Alan Modra <amodra@gmail.com> 5232 5233 PR target/65408 5234 PR target/58744 5235 PR middle-end/36043 5236 * calls.c (load_register_parameters): Don't load past end of 5237 mem unless suitably aligned. 5238 52392015-04-27 Jakub Jelinek <jakub@redhat.com> 5240 5241 PR tree-optimization/65875 5242 * tree-vrp.c (update_value_range): If in is_new case setting 5243 old_vr to VR_VARYING, also set new_vr to it. Remove 5244 old_vr->type == VR_VARYING test. 5245 (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of 5246 SSA_PROP_INTERESTING if update_value_range returned true, 5247 but new range is VR_VARYING. 5248 52492015-04-27 Georg-Johann Lay <avr@gjlay.de> 5250 5251 Backport from 2015-04-27 trunk r222459. 5252 5253 PR target/65296 5254 PR target/65895 5255 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file. 5256 Add hint how to use own spec file. 5257 52582015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com> 5259 5260 Backport from mainline 5261 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com> 5262 5263 PR target/65849 5264 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that 5265 save to independent variables use the Save attribute. This will 5266 allow these options to be modified with the #pragma/attribute 5267 target support. 5268 (-mallow-movmisalign): Likewise. 5269 (-mallow-df-permute): Likewise. 5270 (-msched-groups): Likewise. 5271 (-malways-hint): Likewise. 5272 (-malign-branch-targets): Likewise. 5273 (-mvectorize-builtins): Likewise. 5274 (-msave-toc-indirect): Likewise. 5275 5276 * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that 5277 can be set via the #pragma/attribute target support. 5278 (rs6000_opt_vars): Likewise. 5279 (rs6000_inner_target_options): If VSX was set, also set 5280 -mno-avoid-indexed-addresses. 5281 52822015-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5283 5284 Backport from mainline r222385 5285 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5286 5287 * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove 5288 asterisk from name so this can be generated directly. 5289 (*altivec_stvx_<mode>_internal): Likewise. 5290 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert 5291 that this is never called during or after reload/lra. 5292 (rs6000_frame_related): Remove split_reg 5293 argument and logic that references it. 5294 (emit_frame_save): Remove last parameter from call to 5295 rs6000_frame_related. 5296 (rs6000_emit_prologue): Remove last parameter from eight calls to 5297 rs6000_frame_related. Force generation of stvx instruction for 5298 Altivec register saves. Remove split_reg handling, which is no 5299 longer needed. 5300 (rs6000_emit_epilogue): Force generation of lvx instruction for 5301 Altivec register restores. 5302 53032015-04-24 Uros Bizjak <ubizjak@gmail.com> 5304 5305 * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>): 5306 Mark operand1 commutative. 5307 53082015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5309 5310 Backport from mainline r222362 5311 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5312 5313 * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change 5314 TARGET_CRYPTO to TARGET_P8_VECTOR> 5315 (crypto_vpermxor_<mode>): Likewise. 5316 * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define. 5317 (BU_CRYPTO_3A): Likewise. 5318 (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2. 5319 (BU_CRYPTO_OVERLOAD_3A): New #define. 5320 (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A. 5321 (VPMSUMH): Likewise. 5322 (VPMSUMW): Likewise. 5323 (VPMSUMD): Likewise. 5324 (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A. 5325 (VPERMXOR_V4SI): Likewise. 5326 (VPERMXOR_V8HI): Likewise. 5327 (VPERMXOR_V16QI): Likewise. 5328 (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to 5329 BU_CRYPTO_OVERLOAD_2A. 5330 (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to 5331 BU_CRYPTO_OVERLOAD_3A. 5332 * config/rs6000/rs6000.opt (mcrypto): Change description of 5333 option. 5334 5335 Backport from mainline r222362 5336 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5337 5338 * config/rs6000/rs6000.opt (mcrypto): Change option description to 5339 match category changes in ISA 2.07B. 5340 53412015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5342 5343 Backport from mainline r222351 5344 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5345 5346 * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary 5347 adjustments. 5348 (insn_is_swappable_p): Return 1 for a convert from double to 5349 single precision when all of its uses are splats of BE element 5350 zero. 5351 53522015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5353 5354 Backport from mainline r222349 5355 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5356 5357 PR target/65456 5358 * config/rs6000/rs6000.c (rs6000_option_override_internal): For 5359 VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and 5360 TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line 5361 option. 5362 (rs6000_builtin_mask_for_load): Return 0 for targets with 5363 efficient unaligned VSX accesses so that the vectorizer will use 5364 direct unaligned loads. 5365 (rs6000_builtin_support_vector_misalignment): Always return true 5366 for targets with efficient unaligned VSX accesses. 5367 (rs6000_builtin_vectorization_cost): Cost of unaligned loads and 5368 stores on targets with efficient unaligned VSX accesses is almost 5369 always the same as the cost of an aligned load or store, so model 5370 it that way. 5371 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for 5372 unaligned vectors if we have efficient unaligned VSX accesses. 5373 * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New 5374 undocumented option. 5375 53762015-04-23 Vladimir Makarov <vmakarov@redhat.com> 5377 5378 Backport from trunk r222223. 5379 5380 2015-04-19 Vladimir Makarov <vmakarov@redhat.com> 5381 5382 PR rtl-optimization/65805 5383 * lra-eliminations.c (lra_eliminate_regs_1): Add new assert. 5384 Don't use difference of offset and previous offset if 5385 update_sp_offset is non-zero. 5386 (eliminate_regs_in_insn): Ditto. 5387 * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in 5388 lra_eliminate_regs_1 call. 5389 * lra-constraints.c (get_equiv_with_elimination): Ditto. 5390 53912015-04-22 Georg-Johann Lay <avr@gjlay.de> 5392 5393 Backport from trunk r222179. 5394 5395 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com> 5396 5397 PR target/65296 5398 * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust 5399 to new AVR-LibC file layout (bug #44574). 5400 (*avrlibc_devicelib): Same. 5401 * config/avr/avr-mcus.def: Adjust comments. 5402 * config/avr/avr.opt (nodevicelib): Adjust help. 5403 54042015-04-22 Jakub Jelinek <jakub@redhat.com> 5405 5406 * BASE-VER: Set to 5.1.1. 5407 54082015-04-22 Release Manager 5409 5410 * GCC 5.1.0 released. 5411 54122015-04-20 Jakub Jelinek <jakub@redhat.com> 5413 5414 PR debug/65807 5415 * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry. 5416 54172015-04-18 Gerald Pfeifer <gerald@pfeifer.com> 5418 5419 * doc/plugins.texi: Rewrite first introductory paragraph. 5420 54212015-04-17 H.J. Lu <hongjiu.lu@intel.com> 5422 5423 PR target/65780 5424 * config/i386/i386.c (ix86_binds_local_p): Define only if 5425 TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false. 5426 54272015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5428 Jakub Jelinek <jakub@redhat.com> 5429 5430 PR target/65787 5431 * config/rs6000/rs6000.c (rtx_is_swappable_p): Remove previous 5432 fix; ensure that a subsequent SH_NONE operand does not overwrite 5433 an existing *special value. 5434 54352015-04-17 H.J. Lu <hongjiu.lu@intel.com> 5436 5437 PR target/65780 5438 * output.h (default_binds_local_p_3): New. 5439 * varasm.c (default_binds_local_p_3): Make it public. Take an 5440 argument to indicate if common symbol may be local. If common 5441 symbol may be local, treat non-external variable as defined 5442 locally. 5443 (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3. 5444 (default_binds_local_p_1): Pass false to default_binds_local_p_3. 5445 * config/i386/i386.c (ix86_binds_local_p): New. 5446 (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with 5447 ix86_binds_local_p. 5448 54492015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 5450 5451 PR target/65787 5452 * config/rs6000/rs6000.c (rtx_is_swappable_p): Handle case where 5453 vec_extract operation is wrapped in a PARALLEL with a CLOBBER. 5454 (adjust_extract): Likewise. 5455 54562015-04-17 Jakub Jelinek <jakub@redhat.com> 5457 5458 PR debug/65771 5459 * dwarf2out.c (loc_list_from_tree): Return NULL 5460 for DEBUG_EXPR_DECL. 5461 54622015-04-15 Jakub Jelinek <jakub@redhat.com> 5463 5464 PR ipa/65765 5465 * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP 5466 and GIMPLE_PREDICT use break instead of return true. For 5467 GIMPLE_EH_DISPATCH, compare dispatch region. 5468 54692015-04-14 Jakub Jelinek <jakub@redhat.com> 5470 5471 PR rtl-optimization/65761 5472 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use 5473 get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)). 5474 54752015-04-13 Jan Hubicka <hubicka@ucw.cz> 5476 Gerald Pfeifer <gerald@pfeifer.com> 5477 5478 * doc/contrib.texi (Contributors): Add Martin Jambor and 5479 Michael Matz. 5480 54812015-04-12 Jakub Jelinek <jakub@redhat.com> 5482 5483 * BASE-VER: Set to 5.0.1. 5484 * DEV-PHASE: Set to prerelease. 5485 5486 PR tree-optimization/65747 5487 * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand 5488 rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT. 5489 54902015-04-12 Gerald Pfeifer <gerald@pfeifer.com> 5491 5492 * doc/invoke.texi (-Wmemset-transposed-args): Break a long 5493 sentence. Improve grammar. 5494 54952015-04-12 Gerald Pfeifer <gerald@pfeifer.com> 5496 5497 * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov. 5498 54992015-04-11 Jan Hubicka <hubicka@ucw.cz> 5500 5501 PR ipa/65743 5502 * ipa-inline-transform.c (speculation_removed): Remove static var. 5503 (check_speculations): New function. 5504 (clone_inlined_nodes): Do not check spculations. 5505 (inline_call): Call check_speculations. 5506 * ipa-prop.c (ipa_make_edge_direct_to_target): Do not 5507 consider non-invariants. 5508 55092015-04-11 Jan Hubicka <hubicka@ucw.cz> 5510 Martin Liska <mliska@suse.cz> 5511 5512 PR ipa/65722 5513 * ipa-icf.c (sem_item::compare_cgraph_references): function and 5514 variable can not match. 5515 (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables. 5516 (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch. 5517 55182015-04-11 Jakub Jelinek <jakub@redhat.com> 5519 5520 PR tree-optimization/65735 5521 * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths): 5522 Remove visited_phis argument, add visited_bbs, avoid recursing into the 5523 same bb rather than just into the same phi node. 5524 (thread_through_normal_block): Adjust caller. 5525 55262015-04-11 Gerald Pfeifer <gerald@pfeifer.com> 5527 5528 * doc/contrib.texi (Contributors): Add Ira Rosen. 5529 55302015-04-11 Benno Schulenberg <bensberg@justemail.net> 5531 5532 * gcov.c (find_source): Fix miswording in error message. 5533 * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise. 5534 (ix86_expand_sse_comi_round): Fix typo in error message. 5535 55362015-04-11 Gerald Pfeifer <gerald@pfeifer.com> 5537 5538 * doc/contrib.texi (Contributors): Add Laurynas Biveinis. 5539 55402015-04-10 Gerald Pfeifer <gerald@pfeifer.com> 5541 5542 * doc/contrib.texi (Contributors): Update Joe Buck's entry. 5543 55442015-04-10 Vladimir Makarov <vmakarov@redhat.com> 5545 5546 PR target/65710 5547 * lra-assigns.c (spill_for): Update smallest_bad_spills_num. 5548 Print bad_spills_num and insn_pseudos_num. 5549 55502015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5551 5552 PR target/65694 5553 * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND 5554 when creating +1 values for SImode. 5555 55562015-04-10 Vladimir Makarov <vmakarov@redhat.com> 5557 5558 PR target/65729 5559 * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the 5560 assert. 5561 55622015-04-10 Jakub Jelinek <jakub@redhat.com> 5563 Iain Sandoe <iain@codesourcery.com> 5564 5565 PR target/65351 5566 * configure: Regenerate. 5567 55682015-04-09 Kirill Yukhin <kirill.yukhin@intel.com> 5569 5570 PR target/65671 5571 * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled. 5572 55732015-04-09 Gerald Pfeifer <gerald@pfeifer.com> 5574 5575 * doc/contrib.texi (Contributors): Add John Marino. 5576 55772015-04-09 Jakub Jelinek <jakub@redhat.com> 5578 5579 PR tree-optimization/65709 5580 * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of 5581 TREE_TYPE (TREE_TYPE (t)). 5582 55832015-04-09 Vladimir Makarov <vmakarov@redhat.com> 5584 5585 PR target/65710 5586 * lra-int.h (lra_bad_spill_regno_start): New. 5587 * lra.c (lra_bad_spill_regno_start): New. 5588 (lra): Set up lra_bad_spill_regno_start. Set up 5589 lra_constraint_new_regno_start unconditionally. 5590 * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for 5591 spill preferences. 5592 55932015-04-09 Marek Polacek <polacek@redhat.com> 5594 Jakub Jelinek <jakub@redhat.com> 5595 5596 PR middle-end/65554 5597 * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment. 5598 (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead 5599 of STRIP_NOPS. 5600 56012015-04-09 Segher Boessenkool <segher@kernel.crashing.org> 5602 5603 PR rtl-optimization/65693 5604 * combine.c (is_parallel_of_n_reg_sets): Move outside of 5605 #ifndef HAVE_cc0. 5606 56072015-04-09 Georg-Johann Lay <avr@gjlay.de> 5608 5609 PR target/65296 5610 * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a 5611 device specs file if "device-specs%s" didn't resolve to a path. 5612 56132015-04-09 Kirill Yukhin <kirill.yukhin@intel.com> 5614 5615 PR target/65676 5616 * config/i386/i386.c (fixup_modeless_constant): New. 5617 (ix86_expand_args_builtin): Fixup modeless constant operand. 5618 (ix86_expand_round_builtin): Ditto. 5619 (ix86_expand_special_args_builtin): Ditto. 5620 (ix86_expand_builtin): Ditto. 5621 56222015-04-09 Jakub Jelinek <jakub@redhat.com> 5623 5624 PR target/65693 5625 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow 5626 any pow2 integer in between 2 and 0x80000000U inclusive. 5627 56282015-04-08 Segher Boessenkool <segher@kernel.crashing.org> 5629 5630 PR rtl-optimization/65693 5631 * combine.c (is_parallel_of_n_reg_sets): Change first argument 5632 from an rtx_insn * to an rtx. 5633 (try_combine): Adjust both callers. Use it once more. 5634 56352015-04-08 Ilya Enkovich <ilya.enkovich@intel.com> 5636 5637 * tree-chkp.c (chkp_find_const_bounds_var): Remove. 5638 (chkp_make_static_const_bounds): Search existing 5639 symbol by assembler name. Use make_decl_one_only. 5640 (chkp_get_zero_bounds_var): Remove node search which 5641 is now performed in chkp_make_static_const_bounds. 5642 (chkp_get_none_bounds_var): Likewise. 5643 56442015-04-08 Michael Witten <mfwitten@gmail.com> 5645 5646 * doc/extend.texi (Attribute Syntax): Add a trailing semicolon 5647 to an example. 5648 56492015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 5650 5651 * tree.h (CONVERT_EXPR_P): Commentary typo fix. 5652 56532015-04-08 Gerald Pfeifer <gerald@pfeifer.com> 5654 5655 * doc/extend.texi (__sync Builtins): Fix grammar. 5656 56572015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 5658 5659 * doc/cfg.texi (GIMPLE statement iterators): Fix typo. 5660 56612015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 5662 5663 * varasm.c (emit_local): Move definition of align. 5664 56652015-04-08 Julian Brown <julian@codesourcery.com> 5666 5667 * config/nvptx/mkoffload.c (process): Support variable mapping. 5668 56692015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org> 5670 5671 * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to 5672 alpha_links **. 5673 (alpha_write_one_linkage): Correct typo. 5674 56752015-04-08 Ilya Enkovich <ilya.enkovich@intel.com> 5676 5677 * ipa-comdats.c (propagate_comdat_group): Walk through thunks. 5678 56792015-04-08 Gerald Pfeifer <gerald@pfeifer.com> 5680 5681 * doc/install.texi (bootstrap-lto-noplugin): Rewrite. 5682 56832015-04-08 Ilya Enkovich <ilya.enkovich@intel.com> 5684 5685 * tree-chkp.h (chkp_insert_retbnd_call): New. 5686 * tree-chkp.c (chkp_insert_retbnd_call): New. 5687 * ipa-split.c (insert_bndret_call_after): Remove. 5688 (split_function): Use chkp_insert_retbnd_call. 5689 * cgraphunit.c (cgraph_node::expand_thunk): Build returned 5690 bounds for instrumented functions. 5691 56922015-04-07 Jan Hubicka <hubicka@ucw.cz> 5693 5694 PR ipa/65540 5695 * calls.c (initialize_argument_information): When producing tail 5696 call also turn SSA_NAMES passed by references to original PARM_DECLs 5697 56982015-04-07 Vladimir Makarov <vmakarov@redhat.com> 5699 5700 PR target/65648 5701 * lra-remat.c (do_remat): Process input and non-input insn 5702 registers separately. 5703 57042015-04-07 Jakub Jelinek <jakub@redhat.com> 5705 5706 PR debug/65678 5707 * valtrack.c (debug_lowpart_subreg): New function. 5708 (dead_debug_insert_temp): Use it. 5709 5710 PR middle-end/65680 5711 * expr.c (get_inner_reference): Handle bit_offset that doesn't fit 5712 into signed HOST_WIDE_INT the same as negative bit_offset. 5713 57142015-04-07 Ilya Enkovich <ilya.enkovich@intel.com> 5715 5716 * ipa-comdats.c (ipa_comdats): Visit all thunks 5717 to set proper comdat group. 5718 57192015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5720 5721 PR target/65489 5722 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction 5723 on constants for NEON VSTRUCT modes. 5724 57252015-04-07 Jakub Jelinek <jakub@redhat.com> 5726 Iain Sandoe <iain@codesourcery.com> 5727 5728 PR target/65351 5729 * configure: Regenerate. 5730 57312015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com> 5732 5733 PR target/65614 5734 * config/rs6000/rs6000.c (struct processor_costs): Add cost field 5735 for SF->DF conversions to make FLOAT_EXTEND more expensive, so 5736 that LFD is used to load double constants instead of LFS. Add 5737 defaults for all costs structures. Add comments for missing 5738 initialization fields. 5739 (size32_cost): Likewise. 5740 (size64_cost): Likewise. 5741 (rs64a_cost): Likewise. 5742 (mpccore_cost): Likewise. 5743 (ppc403_cost): Likewise. 5744 (ppc405_cost): Likewise. 5745 (ppc440_cost): Likewise. 5746 (ppc476_cost): Likewise. 5747 (ppc601_cost): Likewise. 5748 (ppc603_cost): Likewise. 5749 (ppc604_cost): Likewise. 5750 (ppc604e_cost): Likewise. 5751 (ppc620_cost): Likewise. 5752 (ppc630_cost): Likewise. 5753 (ppccell_cost): Likewise. 5754 (ppc750_cost): Likewise. 5755 (ppc7450_cost): Likewise. 5756 (ppc8540_cost): Likewise. 5757 (ppce300c2c3_cost): Likewise. 5758 (ppce500mc_cost): Likewise. 5759 (ppce500mc64_cost): Likewise. 5760 (ppce5500_cost): Likewise. 5761 (ppce6500_cost): Likewise. 5762 (titan_cost): Likewise. 5763 (power4_cost): Likewise. 5764 (power6_cost): Likewise. 5765 (power7_cost): Likewise. 5766 (power8_cost): Likewise. 5767 (ppca2_cost): Likewise. 5768 (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field. 5769 5770 * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP 5771 instead of XXLOR to copy SFmode to clear out dirty bits created 5772 when SFmode denormals are generated. 5773 (mov<mode>_hardfloat, FMOVE32 case): Likewise. 5774 (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction. 5775 57762015-04-06 Evandro Menezes <e.menezes@samsung.com> 5777 5778 * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option. 5779 * config/aarch64/aarch64-cores.def (exynos-m1): New core. 5780 * config/aarch64/aarch64-tune.md: Regenerate. 5781 57822015-04-06 Evandro Menezes <e.menezes@samsung.com> 5783 5784 * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option. 5785 * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1". 5786 * config/arm/arm-cores.def (exynos-m1): New core. 5787 * config/arm/arm-tune.md: Regenerate. 5788 * config/arm/arm-tables.opt: Add entry for "exynos-m1". 5789 * config/arm/bpabi.h: Likewise. 5790 57912015-04-06 Ilya Enkovich <ilya.enkovich@intel.com> 5792 5793 * ipa-cp (set_single_call_flag): Remove too 5794 restrictive assert. 5795 57962015-04-06 Ilya Verbin <ilya.verbin@intel.com> 5797 5798 * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call 5799 GOMP_offload_unregister from the destructor. 5800 58012015-04-06 Ilya Enkovich <ilya.enkovich@intel.com> 5802 5803 * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor 5804 flags for instrumentation thunk. 5805 (chkp_produce_thunks): Likewise. 5806 58072015-04-05 Martin Liska <mliska@suse.cz> 5808 5809 PR ipa/65665 5810 * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP 5811 has computed data structure. 5812 (sem_item_optimizer::update_hash_by_addr_refs): Likewise. 5813 58142015-04-04 Jan Hubicka <hubicka@ucw.cz> 5815 5816 * invoke.texi (inline-unit-growth): Increase growth to 20% 5817 * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise. 5818 58192015-04-04 Vladimir Makarov <vmakarov@redhat.com> 5820 5821 PR target/65647 5822 * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its 5823 value checking. 5824 (lra_rematerialization_iter): New. 5825 * lra.c (lra): Initialize lra_rematerialization_iter. 5826 Stop updating lra_constraint_new_regno_start after switching of 5827 inheritance and rematerialization. 5828 * lra-remat.c (lra_rematerialization_iter): New. 5829 (lra_remat): Add printing pass iteration. Do rematerialization 5830 only first LRA_MAX_REMATERIALIZATION_PASSES iterations. 5831 58322015-04-04 Richard Biener <rguenther@suse.de> 5833 5834 PR tree-optimization/64909 5835 PR tree-optimization/65660 5836 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust 5837 to take a cost vector for scalar iteration cost. 5838 (vect_get_single_scalar_iteration_cost): Likewise. 5839 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): 5840 Compute the scalar iteration cost into a cost vector. 5841 (vect_get_known_peeling_cost): Use the scalar cost vector to 5842 account for the cost of the peeled iterations. 5843 (vect_estimate_min_profitable_iters): Likewise. 5844 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): 5845 Likewise. 5846 58472015-04-04 Alan Modra <amodra@gmail.com> 5848 5849 PR target/65576 5850 PR target/65240 5851 * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude 5852 0.0 constant unless TARGET_VSX. 5853 * config/rs6000/rs6000.md (extenddftf2_internal): Remove last 5854 alternative. 5855 58562015-04-03 Jan Hubicka <hubicka@ucw.cz> 5857 5858 PR ipa/65654 5859 * ipa-inline-transform.c (inline_call): Skip sanity check to work 5860 around the ICE 5861 58622015-04-03 Jan Hubicka <hubicka@ucw.cz> 5863 5864 PR ipa/65655 5865 * ipa-inline-analysis.c (edge_set_predicate): Do not redirect 5866 speculative indirect edges to avoid ordering issue. 5867 58682015-04-03 Jan Hubicka <hubicka@ucw.cz> 5869 5870 PR ipa/65076 5871 * ipa-inline.c (edge_badness): Add combined size to the denominator. 5872 58732015-04-03 Jakub Jelinek <jakub@redhat.com> 5874 5875 * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set 5876 TYPE_ARTIFICIAL on the .omp_data* types. 5877 58782015-04-02 Ilya Enkovich <ilya.enkovich@intel.com> 5879 5880 * cgraphunit.c (cgraph_node::expand_thunk): Don't expand 5881 instrumentation thunks. 5882 58832015-04-02 Ilya Enkovich <ilya.enkovich@intel.com> 5884 5885 * config/i386/i386.c (ix86_expand_call): Avoid nested 5886 PARALLEL in returned call value. 5887 58882015-04-02 Ilya Enkovich <ilya.enkovich@intel.com> 5889 5890 * lto-cgraph.c (input_cgraph_1): Always link instrumented 5891 assembler name with original one. 5892 58932015-04-02 Uros Bizjak <ubizjak@gmail.com> 5894 5895 * config/i386/i386.c (ix86_register_priority): Use AX_REG. 5896 58972015-04-02 Uros Bizjak <ubizjak@gmail.com> 5898 5899 Revert parts of r216820. 5900 * config/i386/i386.md (movqi_internal): Correct type calculation 5901 for alternatives 3 and 5. 5902 59032015-04-02 Jakub Jelinek <jakub@redhat.com> 5904 5905 PR preprocessor/61977 5906 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't 5907 predefine __vector/__bool/__pixel macros nor context sensitive 5908 macros for CLK_ASM. 5909 * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly. 5910 59112015-04-02 John David Anglin <danglin@gcc.gnu.org> 5912 5913 * config/pa/pa.c (pa_output_move_double): Directly handle register 5914 indexed memory operand. Simplify handling of scaled register indexed 5915 memory operands. 5916 59172015-04-02 Ilya Enkovich <ilya.enkovich@intel.com> 5918 5919 PR driver/65444 5920 * config/i386/linux-common.h (MPX_SPEC): New. 5921 (CHKP_SPEC): Add MPX_SPEC. 5922 * doc/invoke.texi (-fcheck-pointer-boudns): Document 5923 possible issues with '-z bndplt' support in linker. 5924 59252015-04-02 Uros Bizjak <ubizjak@gmail.com> 5926 5927 * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New. 5928 (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC. 5929 (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC. 5930 * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC. 5931 (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC. 5932 59332015-04-01 Uros Bizjak <ubizjak@gmail.com> 5934 5935 * config/i386/sync.md (UNSPEC_MOVA): Remove. 5936 (atomic_load<mode>): Change operand 0 predicate to 5937 nonimmediate_operand and fix up the destination when needed. 5938 Use UNSPEC_LDA. 5939 (atomic_loaddi_fpu): Use UNSPEC_LDA. 5940 (atomic_store<mode>): Change operand 1 predicate to 5941 nonimmendate_operand and move the source to register when needed. 5942 Use UNSPEC_STA. 5943 (atomic_store<mode>_1): Use UNSPEC_STA. 5944 (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand. 5945 Fix moves from memory operand. Use UNSPEC_STA. 5946 59472015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de> 5948 5949 * expmed.c (strict_volatile_bitfield_p): Check that the access will 5950 not cross a MODESIZE boundary. 5951 (store_bit_field, extract_bit_field): Added assertions in the 5952 strict volatile bitfields code path. 5953 59542015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com> 5955 5956 PR target/65624 5957 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin): 5958 Increase args array size by one to avoid buffer overflow. 5959 59602015-03-31 Jan Hubicka <hubicka@ucw.cz> 5961 5962 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream 5963 split_part. 5964 * ipa-inline.c (edge_badness): Add wrapper penalty. 5965 (sum_callers): Move up. 5966 (inline_small_functions): Set single_caller. 5967 * ipa-inline.h (inline_summary): Add single_caller. 5968 * ipa-split.c (split_function): Set split_part. 5969 (cgraph_node::create_clone): Do not shadow decl; copy split_part. 5970 * cgraph.h (cgraph_node): Add split_part. 5971 59722015-03-31 Uros Bizjak <ubizjak@gmail.com> 5973 5974 PR target/58945 5975 * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword): 5976 Do not split operands 0 and operands 2 to halfmode. 5977 (atomic_compare_and_swap<mode>): Update for 5978 atomic_compare_and_swap<dwi>_doubleword changes. 5979 59802015-03-31 Jan Hubicka <hubicka@ucw.cz> 5981 5982 * tree.c (need_assembler_name_p): Artificial types have no ODR names. 5983 * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when 5984 no caching is done. 5985 59862015-03-31 Martin Liska <mliska@suse.cz> 5987 5988 PR ipa/65557 5989 * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP 5990 has already filled up function summary. 5991 (sem_item_optimizer::update_hash_by_addr_refs): Likewise. 5992 59932015-03-31 Richard Biener <rguenther@suse.de> 5994 5995 * tree-sra.c (create_access_replacement): Drop under-/over-alignment 5996 of types. 5997 59982015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com> 5999 6000 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching 6001 nested functions. 6002 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw. 6003 (s390_asm_output_function_label): Adapt to new signature of 6004 s390_function_num_hotpatch_hw 6005 Optimise the code generating assembler output. 6006 Add comments to assembler file. 6007 60082015-03-31 Richard Biener <rguenther@suse.de> 6009 6010 PR middle-end/65626 6011 * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block 6012 of the noreturn call so it is last and cleanup_control_flow_bb 6013 can do the CFG part. 6014 60152015-03-31 Ilya Enkovich <ilya.enkovich@intel.com> 6016 6017 PR target/65531 6018 * ipa-chkp.c (chkp_maybe_create_clone): Don't set 6019 same_comdat_group for external symbols. 6020 * symtab.c (symtab_node::verify_symtab_nodes): Avoid 6021 infinite same_comdat_group traversal loop. 6022 60232015-03-31 Jakub Jelinek <jakub@redhat.com> 6024 6025 PR plugins/61176 6026 * Makefile.in (install-plugin): Add all gcc/*.{h,def} files 6027 automatically to $headers. 6028 60292015-03-30 Jakub Jelinek <jakub@redhat.com> 6030 6031 PR ipa/65610 6032 * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare. 6033 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New 6034 function. 6035 (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store): 6036 Use it. 6037 * ipa-prop.c (param_type_may_change_p): Likewise. 6038 * tree-ssa-live.c: Include ipa-utils.h and its dependencies. 6039 (remove_unused_scope_block_p): Add in_ctor_dtor_block 6040 argument. Before inlining, preserve 6041 inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block 6042 with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust 6043 recursive calls. 6044 (remove_unused_locals): Adjust remove_unused_scope_block_p caller. 6045 60462015-03-27 Jan Hubicka <hubicka@ucw.cz> 6047 6048 PR ipa/65076 6049 * ipa-inline.c (edge_badness): Base denominator on callee's 6050 grwoth squared. 6051 60522015-03-27 Martin Jambor <mjambor@suse.cz> 6053 6054 PR ipa/65478 6055 * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New. 6056 (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise. 6057 * ipa-prop.h (ipa_node_params): New flags node_within_scc and 6058 node_calling_single_call. 6059 * ipa-cp.c (count_callers): New function. 6060 (set_single_call_flag): Likewise. 6061 (initialize_node_lattices): Count callers and set single_flag_call if 6062 necessary. 6063 (incorporate_penalties): New function. 6064 (good_cloning_opportunity_p): Use it, dump new flags. 6065 (propagate_constants_topo): Set node_within_scc flag if appropriate. 6066 * doc/invoke.texi (ipa-cp-recursion-penalty, 6067 ipa-cp-single-call-pentalty): Document. 6068 60692015-03-27 Jan Hubicka <hubicka@ucw.cz> 6070 6071 PR ipa/65588 6072 * symtab.c (symtab_node::get_partitioning_class): Register vars 6073 are duplicated. 6074 * varpool.c (symbol_table::output_variables) Do not assemble unefined 6075 decls for non-symbols. 6076 60772015-03-27 H.J. Lu <hongjiu.lu@intel.com> 6078 6079 PR target/65248 6080 * output.h (default_binds_local_p_2): New. 6081 * varasm.c (default_binds_local_p_2): Renamed to ... 6082 (default_binds_local_p_3): This. Don't return true on protected 6083 data symbol if protected data may be external. 6084 (default_binds_local_p): Use default_binds_local_p_3. 6085 (default_binds_local_p_1): Likewise. 6086 (default_binds_local_p_2): New. 6087 * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to 6088 default_binds_local_p_2 if TARGET_MACHO is undefined. 6089 60902015-03-27 Jakub Jelinek <jakub@redhat.com> 6091 6092 PR target/65593 6093 * config/i386/i386.c (legitimize_pic_address): If base 6094 is SYMBOL_REF or LABEL_REF using %rip addressing, force 6095 it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register. 6096 60972015-03-27 Jan Hubicka <hubicka@ucw.cz> 6098 6099 PR target/65531 6100 * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of 6101 comdat groups. 6102 61032015-03-27 Jan Hubicka <hubicka@ucw.cz> 6104 6105 PR ipa/65600 6106 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case 6107 of optimized out indirect call. 6108 (redirect_to_unreachable): Always build symbol table node for 6109 BUILT_IN_UNREACHABLE 6110 61112015-03-27 Vladimir Makarov <vmakarov@redhat.com> 6112 6113 PR target/65407 6114 * ira-costs.c (record_reg_classes): Process all constraint string 6115 containing 0-9. 6116 61172015-03-27 Bernd Schmidt <bernds@codesourcery.com> 6118 6119 * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not 6120 memory_operand. 6121 6122 PR target/65052 6123 * config/c6x/constraints.md (S3): New constraint. 6124 * config/c6x/c6x.md (real_jump): Use it. 6125 61262015-03-26 Jan Hubicka <hubicka@ucw.cz> 6127 6128 PR middle-end/65595 6129 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only 6130 do redirection if the call is not optimized out. 6131 61322015-03-27 Ilya Enkovich <ilya.enkovich@intel.com> 6133 6134 PR target/65495 6135 * c-family/c.opt (fcheck-pointer-bounds): List supported languages. 6136 (fchkp-check-incomplete-type): Add LTO. 6137 (fchkp-zero-input-bounds-for-main): Likewise. 6138 (fchkp-first-field-has-own-bounds): Likewise. 6139 (fchkp-narrow-bounds): Likewise. 6140 (fchkp-narrow-to-innermost-array): Likewise. 6141 (fchkp-use-static-bounds): Likewise. 6142 (fchkp-use-static-const-bounds): Likewise. 6143 (fchkp-treat-zero-dynamic-size-as-infinite): Likewise. 6144 61452015-03-27 Marek Polacek <polacek@redhat.com> 6146 6147 * gimple-iterator.h (gsi_prev_nondebug): Fix typo. 6148 61492015-03-27 Marek Polacek <polacek@redhat.com> 6150 6151 PR sanitizer/65583 6152 * ubsan.c (ubsan_create_edge): New function. 6153 (instrument_bool_enum_load): Call it. 6154 (instrument_nonnull_arg): Likewise. 6155 (instrument_nonnull_return): Likewise. 6156 (instrument_object_size): Likewise. 6157 61582015-03-26 Jan Hubicka <hubicka@ucw.cz> 6159 6160 * lto-streamer.h (class lto_location_cache): Turn loc_cache into 6161 auto_vec. 6162 61632015-03-26 Jan Hubicka <hubicka@ucw.cz> 6164 6165 PR lto/65536 6166 * lto-streamer.h (class lto_location_cache): New. 6167 (struct data_in): Add location_cache. 6168 (lto_input_location): Update prototype. 6169 (stream_input_location_now): New. 6170 * streamer-hooks.h (struct streamer_hooks): Make input_location to take 6171 pointer to location. 6172 (stream_input_location): Update. 6173 * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h 6174 (warn_odr): Apply location cache before warning. 6175 (lto_input_location): Update prototype. 6176 * gimple-streamer-in.c (input_phi, input_gimple_stmt): 6177 Use stream_input_location_now. 6178 * lto-streamer-in.c (lto_location_cache::current_cache): New static 6179 variable. 6180 (lto_location_cache::cmp_loc): New function. 6181 (lto_location_cache::apply_location_cache): New function. 6182 (lto_location_cache::accept_location_cache): New function. 6183 (lto_location_cache::revert_location_cache): New function. 6184 (lto_location_cache::input_location): New function. 6185 (lto_input_location): Do location caching. 6186 (stream_input_location_now): New function. 6187 (input_eh_region, input_struct_function_base): Use 6188 stream_input_location_now. 6189 (lto_data_in_create): use new. 6190 (lto_data_in_delete): Use delete. 6191 * tree-streamer-in.c (unpack_ts_block_value_fields, 6192 unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields, 6193 lto_input_ts_exp_tree_pointers): Update for cached location api. 6194 61952015-03-26 Jan Hubicka <hubicka@ucw.cz> 6196 6197 PR ipa/65076 6198 * passes.def: Add pass_nothrow. 6199 * ipa-pure-const.c: (pass_data_nothrow): New. 6200 (pass_nothrow): New. 6201 (pass_nothrow::execute): New. 6202 (make_pass_nothrow): New. 6203 * tree-pass.h (make_pass_nothrow): Declare. 6204 62052015-03-26 Jan Hubicka <hubicka@ucw.cz> 6206 6207 * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for 6208 edge to change by speculation resolution or redirection. 6209 (edge_set_predicate): Likewise. 6210 (inline_summary_t::duplicate): Likewise. 6211 (remap_edge_summaries): Likewise. 6212 62132015-03-26 Jan Hubicka <hubicka@ucw.cz> 6214 6215 * ipa-inline.c (check_maybe_up, check_maybe_down, check_match): 6216 New macros. 6217 (can_inline_edge_p): Relax option matching for always inline functions. 6218 62192015-03-26 Uros Bizjak <ubizjak@gmail.com> 6220 6221 PR target/65561 6222 * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm): 6223 Check operand 4 and operand 0 for equality. 6224 (avx512f_vextract<shuffletype>32x4_1_maskm): 6225 Check operand 6 and operand 0 for equality. 6226 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0 6227 for equality. 6228 (vec_extract_hi_<mode>_maskm): Ditto. 6229 62302015-03-26 Jan Hubicka <hubicka@ucw.cz> 6231 6232 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring 6233 dead calls back to live. 6234 (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency 6235 cross check to ... 6236 (cgraph_node::verify_node): ... here; verify only callee edges, 6237 not caller. 6238 * cif-code.def (CILK_SPAWN): New code. 6239 62402015-03-26 Jan Hubicka <hubicka@ucw.cz> 6241 6242 * ipa-inline-analysis.c (redirect_to_unreachable): New function. 6243 (edge_set_predicate): Use it to mark unreachable edges. 6244 (inline_summary_t::duplicate): Remove unnecesary code. 6245 (remap_edge_summaries): Likewise. 6246 (dump_inline_summary): Report contains_cilk_spawn. 6247 (compute_inline_parameters): Compute contains_cilk_spawn. 6248 (inline_read_section, inline_write_summary): Stream 6249 contains_cilk_spawn. 6250 * ipa-inline.c (can_inline_edge_p): Do not touch 6251 DECL_STRUCT_FUNCTION that may not be available; 6252 use CIF_CILK_SPAWN for cilk; fix optimization attribute checks; 6253 remove check for callee_fun->can_throw_non_call_exceptions and 6254 replace it by optimization attribute check; check for flag_exceptions. 6255 * ipa-inline-transform.c (inline_call): Maintain 6256 DECL_FUNCTION_PERSONALITY 6257 * ipa-inline.h (inline_summary): Add contains_cilk_spawn. 6258 62592015-03-26 Jakub Jelinek <jakub@redhat.com> 6260 6261 PR tree-optimization/65551 6262 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use 6263 TYPE_PRECISION only for INTEGRAL_TYPE_P types. 6264 62652015-03-26 Richard Biener <rguenther@suse.de> 6266 6267 PR middle-end/65555 6268 * tree-cfg.c (verify_gimple_call): Do not require a call to 6269 have no LHS if it wasn't recognized as control altering yet. 6270 62712015-03-26 Jakub Jelinek <jakub@redhat.com> 6272 6273 PR tree-optimization/64715 6274 * passes.def: Add another instance of pass_object_sizes before ccp1. 6275 * tree-object-size.c (pass_object_sizes::execute): In 6276 first_pass_instance, only handle __bos (, 1) and __bos (, 3) 6277 calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the 6278 __bos result and the computed constant. Remove redundant 6279 checks, obsoleted by gimple_call_builtin_p test. 6280 6281 * var-tracking.c (variable_tracking_main_1): Don't track 6282 variables for targetm.no_register_allocation targets. 6283 62842015-03-26 Oleg Endo <olegendo@gcc.gnu.org> 6285 6286 * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove. 6287 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian. 6288 62892015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com> 6290 6291 PR target/65569 6292 * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use 6293 XXLXOR to create 0.0. On pre-VSX systems make sure the constant 6294 0.0 is correctly setup. 6295 (extenddftf2_internal): Likewise. 6296 62972015-03-25 Sebastian Pop <s.pop@samsung.com> 6298 6299 PR tree-optimization/65177 6300 * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread. 6301 (bb_in_bbs): New. 6302 (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all 6303 edges not adjacent on the path to the original code. 6304 63052015-03-25 Uros Bizjak <ubizjak@gmail.com> 6306 6307 PR bootstrap/65537 6308 * doc/install.texi (Building a native compiler): Document new 6309 bootstrap-lto-noplugin configuration. Mention that bootstrap-lto 6310 configuration assumes that the host supports the linker plugin. 6311 63122015-03-25 Ilya Enkovich <ilya.enkovich@intel.com> 6313 6314 PR target/65508 6315 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static 6316 chain for generated call. 6317 63182015-03-25 Richard Biener <rguenther@suse.de> 6319 6320 * passes.c (pass_manager::execute_early_local_passes): Guard 6321 execution of pass_chkp_instrumentation_passes with 6322 flag_check_pointer_bounds. 6323 (pass_chkp_instrumentation_passes::gate): Likewise. 6324 63252015-03-25 Martin Liska <mliska@suse.cz> 6326 6327 PR tree-optimization/65538 6328 * symbol-summary.h (function_summary::~function_summary): 6329 Relese memory for allocated summaries. 6330 (function_summary::release): New function. 6331 63322015-03-25 Jakub Jelinek <jakub@redhat.com> 6333 6334 PR lto/65515 6335 * lto-streamer-out.c (DFS::worklist): New struct. 6336 (DFS::worklist_vec): New data member. 6337 (DFS::next_dfs_num): Remove. 6338 (DFS::DFS): Rewritten using worklist instead of recursion, 6339 using most of code from DFS::DFS_write_tree. 6340 (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't 6341 pass it to DFS_write_tree calls. 6342 (DFS::DFS_write_tree): Remove SINGLE_P argument, after 6343 quick initial checks push it into worklist_vec and return. 6344 63452015-03-25 Richard Biener <rguenther@suse.de> 6346 6347 PR middle-end/65519 6348 * genmatch.c (expr::gen_transform): Re-write to avoid 6349 using gimple_build. 6350 63512015-03-25 Bin Cheng <bin.cheng@arm.com> 6352 6353 * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New. 6354 63552015-03-25 Bin Cheng <bin.cheng@arm.com> 6356 6357 * config/arm/arm.opt (print_tune_info): New option. 6358 * config/arm/arm.c (arm_print_tune_info): New function. 6359 (arm_file_start): Call arm_print_tune_info. 6360 * config/arm/arm-protos.h (struct tune_params): Add comment. 6361 * doc/invoke.texi (@item -mprint-tune-info): New item. 6362 (-mtune): mention it in ARM Option Summary. 6363 63642015-03-25 DJ Delorie <dj@redhat.com> 6365 6366 * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to 6367 correct clause. 6368 63692015-03-24 Jan Hubicka <hubicka@ucw.cz> 6370 Martin Liska <mliska@suse.cz> 6371 6372 * ipa-icf-gimple.h (return_with_result): Add missing colon to dump. 6373 * ipa-icf.c (sem_function::get_hash): Hash new declaration properties. 6374 (sem_item::add_type): New function. 6375 (sem_function::hash_stmt): Add TREE_TYPE of gimple_op. 6376 (sem_function::compare_polymorphic_p): Do not consider indirect calls. 6377 (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash. 6378 (sem_function::equals_wpa): Fix typo. 6379 * ipa-icf.h (sem_item::add_type): New function. 6380 (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol 6381 order. 6382 63832015-03-24 Jakub Jelinek <jakub@redhat.com> 6384 6385 PR tree-optimization/65533 6386 * tree-vect-slp.c (vect_build_slp_tree): Before re-trying 6387 with swapped operands, call vect_free_slp_tree on 6388 SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN 6389 vector. 6390 63912015-03-24 Richard Biener <rguenther@suse.de> 6392 6393 PR middle-end/65517 6394 * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops 6395 for fixup if necessary. 6396 63972015-03-23 Sandra Loosemore <sandra@codesourcery.com> 6398 6399 * doc/extend.texi (Function Attributes): Add @cindex entries 6400 for all attributes and regularize their format. Delete text 6401 about long-obsolete 68HC11 and 68HC12 targets. Move misplaced 6402 information about "eightbit_data", "tiny_data", and "model" 6403 variable attributes to the Variable Attributes section. Fix 6404 some obvious typos and copy-editing issues. 6405 (Variable Attributes, Type Attributes): Likewise add/fix 6406 @cindex entries for all attributes. 6407 64082015-03-23 Jakub Jelinek <jakub@redhat.com> 6409 6410 PR target/65523 6411 * tree-chkp.c (chkp_build_returned_bound): Ignore 6412 ERF_RETURNS_ARG calls if they have fewer than needed arguments. 6413 64142015-03-23 Oleg Endo <olegendo@gcc.gnu.org> 6415 6416 PR target/65505 6417 * config/sh/predicates.md (simple_mem_operand, 6418 displacement_mem_operand): Add test for reg. 6419 (short_displacement_mem_operand): Test for displacement_mem_operand 6420 before invoking sh_disp_addr_displacement. 6421 * config/sh/constraints.md (Sdd, Sra): Simplify. 6422 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): 6423 Remove redundant displacement_mem_operand tests. 6424 64252015-03-23 Georg-Johann Lay <avr@gjlay.de> 6426 6427 PR target/65296 6428 * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify 6429 the same -mmcu=MCU more than once. 6430 64312015-03-23 Jakub Jelinek <jakub@redhat.com> 6432 6433 PR bootstrap/65522 6434 * ipa-devirt.c: Remove duplicate demangle.h include. 6435 6436 PR target/65504 6437 * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER 6438 on the pseudo. 6439 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set 6440 REG_POINTER on *destptr after adjusting it for prologue size. 6441 6442 PR ipa/65521 6443 * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash 6444 ultimate_alias_target ()->order ints instead of 6445 ultimate_alias_target () pointers. 6446 64472015-03-23 Richard Biener <rguenther@suse.de> 6448 6449 PR tree-optimization/65518 6450 * tree-vect-stmts.c (vectorizable_load): Reject single-element 6451 interleaving cases we generate absymal code for. 6452 64532015-03-23 Richard Biener <rguenther@suse.de> 6454 6455 PR tree-optimization/65494 6456 * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate 6457 matches here. 6458 (vect_analyze_slp_instance): But do that here, always and once. 6459 64602015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 6461 6462 * expmed.c (synth_mult): Fix comment about multiplying by T-1 and 6463 adding T or multiplying by T+1 and subracting T. 6464 64652015-03-22 Jeff Law <law@redhat.com> 6466 6467 PR rtl-optimization/64317 6468 * Makefile.in (OBJS): Add gcse-common.c 6469 * gcse.c: Include gcse-common.h 6470 (struct modify_pair_s): Move structure definition to gcse-common.h 6471 (compute_transp): Move function to gcse-common.c. 6472 (canon_list_insert): Similarly. 6473 (record_last_mem_set_info): Break out some code and put it into 6474 gcse-common.c. Call into the new common code. 6475 (compute_local_properties): Pass additional arguments to compute_transp. 6476 * postreload-gcse.c: Include gcse-common.h and df.h 6477 (modify_mem_list_set, blocks_with_calls): New variables. 6478 (modify_mem_list, canon_modify_mem_list, transp): Likewise. 6479 (get_bb_avail_insn): Pass in the expression index too. 6480 (alloc_mem): Allocate memory for the new bitmaps and lists. 6481 (free_mem): Free memory for the new bitmaps and lists. 6482 (insert_expr_in_table): Record a bitmap index for each entry we 6483 add to the table. 6484 (record_last_mem_set_info): Call into common code in gcse-common.c. 6485 (get_bb_avail_insn): If no available insn was found in the requested 6486 BB. If BB has a single predecessor, see if the expression is 6487 transparent in BB and available in that single predecessor. 6488 (compute_expr_transp): New wrapper for compute_transp. 6489 (eliminate_partially_redundant_load): Pass expression's bitmap_index 6490 to get_bb_avail_insn. Compute next_pred_bb_end a bit later. 6491 (gcse_after_reload_main): If there are elements in the hash table, 6492 then compute transparency for all the elements in the hash table. 6493 * gcse-common.h: New file. 6494 * gcse-common.c: New file. 6495 64962015-03-22 Sandra Loosemore <sandra@codesourcery.com> 6497 6498 * doc/cpp.texi (Search Path): Hyphenate "command-line" when used 6499 as an adjective. 6500 (System Headers): Likewise. 6501 (Ifdef): Likewise. 6502 (Traditional macros): Likewise. 6503 (Invocation): Likewise. 6504 (Option Index): Likewise. 6505 * doc/cppopts.texi (-M): Likewise. 6506 (-finput-charset): Likewise. 6507 (--help): Likewise. 6508 * doc.invoke.texi (AVR Options): Likewise. 6509 (V850 Options): Likewise. 6510 65112015-03-22 Jan Hubicka <hubicka@ucw.cz> 6512 6513 PR ipa/65475 6514 * ipa-devirt.c: Include demangle.h 6515 (odr_type_d): Add field rtti_broken. 6516 (odr_subtypes_equivalent_p): Do not require name to match. 6517 (compare_virtual_tables): Fix typo; if type already has ODR violation, 6518 bypass the tests; be ready for function referneces in vtables that are 6519 not DECL_VIRTUAL; make warnings to be OPT_Wodr. 6520 (warn_odr): Give up for nameless types. 6521 (warn_types_mismatch): Report mismatch in mangled names; 6522 report mismatch in anonymous namespaces; look into component types to 6523 give useful error; report when mismatch is dragged in from other ODR 6524 type. 6525 (odr_types_equivalent_p): Match types for being polymorphic; avoid 6526 duplicated diagnostics. 6527 (add_type_duplicate): Reorder checks so more informative ones come 6528 first; fix typo; do not output "the extra base is defined here" when 6529 we did not warn. 6530 (BINFO_N_BASE_BINFOS): Relax sanity check. 6531 65322015-03-22 Martin Liska <mliska@suse.cz> 6533 Jakub Jelinek <jakub@redhat.com> 6534 6535 * config/i386/i386.c (def_builtin): Set deferred_isa_values for 6536 masks that can potentially include a builtin. 6537 (ix86_add_new_builtins): Introduce fast filter for isa values 6538 that cannot trigger builtin inclusion. 6539 65402015-03-22 Martin Liska <mliska@suse.cz> 6541 6542 * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function. 6543 (sem_item::update_hash_by_local_refs): Likewise. 6544 (sem_variable::get_hash): Empty line is fixed. 6545 (sem_item_optimizer::execute): Include adding of hash references. 6546 (sem_item_optimizer::update_hash_by_addr_refs): New function. 6547 (sem_item_optimizer::build_hash_based_classes): Use local hash. 6548 * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function. 6549 (sem_item::update_hash_by_local_refs): Likewise. 6550 65512015-03-20 Jan Hubicka <hubicka@ucw.cz> 6552 6553 PR ipa/65502 6554 * ipa-comdats.c (enqueue_references): Walk through thunks. 6555 (ipa_comdats): Likewise. 6556 (set_comdat_group_1): New function. 6557 65582015-03-20 Jan Hubicka <hubicka@ucw.cz> 6559 6560 PR ipa/65475 6561 * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over 6562 non-polymorphic 6563 65642015-03-22 Dave Korn <dave.korn.cygwin@gmail.com> 6565 Gerald Pfeifer <gerald@pfeifer.com> 6566 6567 * doc/contrib.texi (Contributors): Update entry for Danny Smith. 6568 65692015-03-21 Chung-Lin Tang <cltang@codesourcery.com> 6570 Sandra Loosemore <sandra@codesourcery.com> 6571 6572 * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust 6573 function parameter declaration. 6574 * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value): 6575 Update arguments to nios2_adjust_call_address(). 6576 (sibcall_internal): Rename from *sibcall. 6577 (sibcall_value_internal): Rename from *sibcall_value. 6578 * config/nios2/nios2.c (nios2_emit_add_constant): New function. 6579 (nios2_large_got_address): Add target temp reg parameter. 6580 (nios2_got_address): Adjust call to nios2_large_got_address, add 6581 force_reg around it. 6582 (nios2_load_pic_address): Add target temp reg parameter, replace call 6583 to nios2_got_address with corresponding code. 6584 (nios2_legitimize_constant_address): Update call to 6585 nios2_load_pic_address. 6586 (nios2_adjust_call_address): Add temp reg parameter, update PIC case 6587 to use temp reg for PIC loading purposes. 6588 (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK. 6589 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. 6590 (TARGET_ASM_OUTPUT_MI_THUNK): Likewise. 6591 65922015-03-21 Sandra Loosemore <sandra@codesourcery.com> 6593 6594 * doc/invoke.texi (-fno-diagnostics-show-caret): Fix 6595 usage of "the @option{...}". 6596 (-Wopenmp-simd): Likewise. 6597 (-fsanitize-recover): Likewise. 6598 (-fsanitize-undefined-trap-on-error): Likewise. 6599 (-flto): Likewise. 6600 (tracer-dynamic-coverage-feedback): Likewise. 6601 (reorder-block-duplicate-feedback): Likewise. 6602 (loop-unroll-jam-size): Likewise. 6603 (-B): Likewise. 6604 (-I-): Likewise. 6605 (-mabs=legacy): Likewise. 6606 (-mupper-regs-df): Likewise. 6607 (-mupper-regs-sf): Likewise. 6608 (-mpointers-to-nested-functions): Likewise. 6609 66102015-03-21 Sandra Loosemore <sandra@codesourcery.com> 6611 6612 * doc/extend.texi (Cilk Plus Builtins): Add markup. 6613 66142015-03-21 Sandra Loosemore <sandra@codesourcery.com> 6615 6616 * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add 6617 additional index entries and cross-references. 6618 (-fchkp-check-incomplete-type): Likewise. 6619 (-fchkp-first-field-has-own-bounds): Likewise. 6620 (-fchkp-narrow-to-innermost-array): Likewise. 6621 (-fchkp-use-fast-string-functions): Likewise. 6622 (-fchkp-use-nochk-string-functions): Likewise. 6623 (-fchkp-use-static-const-bounds): Likewise. 6624 (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise. 6625 (-fchkp-instrument-marked-only): Likewise. 6626 (-fchkp-use-wrappers): Likewise. 6627 (-static-libmpx): Likewise. 6628 (-static-libmpxwrappers): Likewise. 6629 * doc/extend.texi (bnd_legacy): Likewise. 6630 (bnd_instrument): Likewise. 6631 (bnd_variable_size): Likewise. 6632 (Pointer Bounds Checker builtins): Likewise. 6633 66342015-03-21 Tom de Vries <tom@codesourcery.com> 6635 6636 PR tree-optimization/65458 6637 * cgraph.c (cgraph_node::dump): Handle parallelized_function field. 6638 * cgraph.h (cgraph_node): Add parallelized_function field. 6639 * lto-cgraph.c (lto_output_node): Write parallelized_function field. 6640 (input_overwrite_node): Read parallelized_function field. 6641 * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set 6642 parallelized_function on cgraph_node for child_fn. 6643 * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h. 6644 Remove include of gt-tree-parloops.h. 6645 (parallelized_functions): Remove static variable. 6646 (parallelized_function_p): Rewrite using parallelized_function field of 6647 cgraph_node. 6648 (create_loop_fn): Remove adding to parallelized_functions. 6649 * Makefile.in (GTFILES): Remove tree-parloops.c 6650 66512015-03-20 Vladimir Makarov <vmakarov@redhat.com> 6652 6653 PR rtl-optimization/64366 6654 * lra.c (lra_update_insn_regno_info): Consider regs in 6655 CALL_INSN_FUNCTION_USAGE memory. 6656 66572015-03-20 Richard Biener <rguenther@suse.de> 6658 6659 PR middle-end/64715 6660 * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p 6661 for type comparison and gcc_checking_assert. 6662 (chrec_fold_plus_poly_poly): Likewise. 6663 (chrec_fold_multiply_poly_poly): Likewise. 6664 (chrec_convert_1): Likewise. 6665 * gimplify.c (gimplify_expr): Remove premature folding of 6666 &X + CST to &MEM[&X, CST]. 6667 66682015-03-20 Jan Hubicka <hubicka@ucw.cz> 6669 6670 * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed 6671 already is final. 6672 (ipa_inline): Recompute inline_failed codes. 6673 * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE, 6674 USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as 6675 CIF_FINAL_ERROR. 6676 66772015-03-20 Uros Bizjak <ubizjak@gmail.com> 6678 6679 PR rtl-optimization/60851 6680 * recog.c (constrain_operands): Accept a pseudo register before reload 6681 for LRA enabled targets. 6682 66832015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com> 6684 6685 PR target/65240 6686 * config/rs6000/predicates.md (easy_fp_constant): Remove special 6687 -ffast-math handling that kept non-0 constants live in the RTL 6688 until reload. Remove logic testing the number of instructions it 6689 took to create a constant in a GPR that was never used, due to a 6690 test for soft-float earlier. 6691 (memory_fp_constant): Delete, no longer used. 6692 6693 * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove 6694 alternatives for loading non-0 constants into GPRs for hard 6695 floating point that is no longer needed due to changes in 6696 easy_fp_constant. Add support for loading 0.0 into GPRs. 6697 (mov<mode>_hardfloat32): Likewise. 6698 (mov<mode>_hardfloat64): Likewise. 6699 (mov<mode>_64bit_dm): Likewise. 6700 (movtd_64bit_nodm): Likewise. 6701 (pre-reload move FP constant define_split): Delete define_split, 6702 since it is no longer used. 6703 (extenddftf2_internal): Remove GHF constraints that are not valid 6704 for extenddftf2. 6705 67062015-03-19 Vladimir Makarov <vmakarov@redhat.com> 6707 6708 PR rtl-optimization/63491 6709 * lra-constraints.c (check_and_process_move): Use src instead of 6710 sreg. Remove some dead code. 6711 67122015-03-19 Jan Hubicka <hubicka@ucw.cz> 6713 6714 PR ipa/65380 6715 * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols. 6716 (sem_variable::merge): Likewise. 6717 67182015-03-19 Martin Liska <mliska@suse.cz> 6719 6720 PR ipa/65465 6721 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset 6722 all fields of cgraph_thunk_info. 6723 67242015-03-19 Ilya Enkovich <ilya.enkovich@intel.com> 6725 6726 * ipa-chkp.c (chkp_maybe_create_clone): Don't try to 6727 clone instrumented thunks. 6728 67292015-03-19 Richard Biener <rguenther@suse.de> 6730 6731 Revert 6732 2015-03-10 Richard Biener <rguenther@suse.de> 6733 6734 PR middle-end/63155 6735 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare. 6736 * tree-ssa-coalesce.c: Include timevar.h. 6737 (attempt_coalesce): Handle graph being NULL. 6738 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING. 6739 Split out abnormal coalescing to ... 6740 (perform_abnormal_coalescing): ... this function. 6741 (coalesce_ssa_name): Perform abnormal coalescing without computing 6742 live/conflict. 6743 (verify_ssa_coalescing_worker): New function. 6744 (verify_ssa_coalescing): Likewise. 6745 67462015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de> 6747 Jakub Jelinek <jakub@redhat.com> 6748 6749 PR sanitizer/65400 6750 * tsan.c (instrument_gimple): Clear tail call flag on 6751 calls. 6752 67532015-03-19 Jakub Jelinek <jakub@redhat.com> 6754 6755 PR sanitizer/65400 6756 * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal 6757 call in the return bb. 6758 (find_split_points): Add RETURN_BB argument, don't call 6759 find_return_bb. 6760 (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument, 6761 if true append TSAN_FUNC_EXIT internal call after the call to 6762 the split off function. 6763 (execute_split_functions): Call find_return_bb here. 6764 Don't optimize if TSAN_FUNC_EXIT is found in unexpected places. 6765 Adjust find_split_points and split_function calls. 6766 67672015-03-18 DJ Delorie <dj@redhat.com> 6768 6769 * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands. 6770 (iorqi3_virt): Likewise. 6771 67722015-03-18 Tom de Vries <tom@codesourcery.com> 6773 6774 * tree-parloops.c (parallelize_loops): Make static. 6775 * tree-parloops.h (parallelize_loops): Remove extern declaration. 6776 67772015-03-18 Andrew Stubbs <ams@codesourcery.com> 6778 6779 PR middle-end/64491 6780 Revert: 6781 2014-11-20 Andrew Stubbs <ams@codesourcery.com> 6782 6783 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop 6784 condition would be removed due to undefined behaviour. 6785 67862015-03-18 Martin Liska <mliska@suse.cz> 6787 6788 PR ipa/65432 6789 * cgraph.c (cgraph_node::get_create): Remove unnecessary 6790 xstrdup_for_dump wrapper. 6791 * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of 6792 sem_item::name. 6793 (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name 6794 with xstrdup_for_dump. 6795 (sem_variable::equals): Likewise. 6796 (sem_item_optimizer::read_section): Use symtab_node::name instead of 6797 sem_item::name. 6798 (sem_item_optimizer::parse_funcs_and_vars): Likewise. 6799 (sem_item_optimizer::merge_classes): Wrap symtab_node::name and 6800 symtab_node::asm_name with xstrdup_for_dump. 6801 (congruence_class::dump): Use symtab_node::name instead of 6802 sem_item::name. 6803 * ipa-icf.h (symtab_node::name): Remove. 6804 (symtab_node::asm_name): Likewise. 6805 68062015-03-18 Jakub Jelinek <jakub@redhat.com> 6807 6808 PR tree-optimization/65450 6809 * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New 6810 function. 6811 (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use 6812 it instead of duplicate_ssa_name_ptr_info. 6813 6814 PR target/65222 6815 * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type. 6816 68172015-03-18 Richard Biener <rguenther@suse.de> 6818 6819 * tree-data-ref.h (struct access_matrix): Remove. 6820 (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX, 6821 AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS, 6822 AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise. 6823 (am_vector_index_for_loop): Likewise. 6824 (struct data_reference): Remove access_matrix member. 6825 (DR_ACCESS_MATRIX): Remove. 6826 (lambda_vector_new): Add comment. 6827 (lambda_matrix_new): Use XOBNEWVEC. 6828 68292015-03-18 Richard Biener <rguenther@suse.de> 6830 6831 * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg. 6832 (pass_ch::execute): Cleanup the CFG only if we did sth. 6833 * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg. 6834 68352015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 6836 6837 * expmed.c (synth_mult): Use std::swap instead of manually 6838 swapping algorithms. 6839 68402015-03-18 Jakub Jelinek <jakub@redhat.com> 6841 6842 PR target/65078 6843 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New. 6844 68452015-03-16 Georg-Johann Lay <avr@gjlay.de> 6846 6847 PR target/65296 6848 * config/avr/avr.opt (-nodevicelib): New option. 6849 * doc/invoke.texi (AVR Options): Document it. 6850 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link 6851 libgcc.a, libc.a, libm.a. 6852 * config/avr/specs.h: Same. 6853 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs 6854 which don't (directly) depend on the device. Print more help. 6855 (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a. 6856 (*cpp): Don't define __AVR_DEV_LIB_NAME__. 6857 * config/avr/driver-avr.c: Remove -nodevicelib from option list in 6858 case of an error. 6859 (avr_devicespecs_file): Use suffix "%s" instead of absolute path 6860 for specs file name. 6861 * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove. 6862 * config/avr/avr-mcus.def: Adjust initializers and comments. 6863 68642015-03-16 Jan Hubicka <hubicka@ucw.cz> 6865 6866 * tree-sra.c (ipa_sra_preliminary_function_checks): Use 6867 DECL_ONE_ONLY to check if decl is one only. 6868 * ipa-split.c (consider_split): Limit splitt of one only functions. 6869 68702015-03-16 Jakub Jelinek <jakub@redhat.com> 6871 6872 PR tree-optimization/65427 6873 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New 6874 functions. 6875 (expand_vector_operations_1): Handle BLKmode vector COND_EXPR. 6876 68772015-03-16 Marek Polacek <polacek@redhat.com> 6878 6879 * cgraph.h (add_new_static_var): Remove declaration. 6880 * varpool.c (add_new_static_var): Remove function. 6881 68822015-03-16 Jakub Jelinek <jakub@redhat.com> 6883 6884 * omp-low.c (expand_omp_target): Use auto_vec<tree, 11> 6885 instead of vec<tree> * with vec_alloc and release for args. 6886 Adjust all users. 6887 6888 PR middle-end/65431 6889 * omp-low.c (delete_omp_context): Only splay_tree_delete 6890 reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded 6891 is_gimple_omp_oacc contexts. Don't look at ctx->outer. 6892 68932015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com> 6894 6895 PR sanitizer/64820 6896 * cfgexpand.c (align_base): New function. 6897 (alloc_stack_frame_space): Call it. 6898 (expand_stack_vars): Align prev_frame to be sure 6899 data->asan_vec elements aligned properly. 6900 69012015-03-16 Eric Botcazou <ebotcazou@adacore.com> 6902 6903 PR middle-end/65409 6904 * expr.c (store_field): Do not do a direct block copy if the source is 6905 a PARALLEL with BLKmode. 6906 69072015-03-16 Tom de Vries <tom@codesourcery.com> 6908 6909 PR middle-end/65414 6910 Revert: 6911 2015-03-12 Tom de Vries <tom@codesourcery.com> 6912 6913 PR rtl-optimization/64895 6914 * lra-lives.c (check_pseudos_live_through_calls): Use 6915 actual_call_used_reg_set instead of call_used_reg_set, if available. 6916 69172015-03-16 Alan Modra <amodra@gmail.com> 6918 6919 PR target/63150 6920 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg. 6921 Modify Z->r bswapdi splitter to use dest in place of scratch. 6922 In r->Z and Z->r bswapdi splitter rename word_high, word_low 6923 to word1, word2 and rearrange logic to suit. 6924 (bswapdi2_64bit): Remove early clobber on Z->r alternative. 6925 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r. 6926 (bswapdi2_32bit): Remove early clobber on Z->r alternative. 6927 Add one '?' on r->r. Modify Z->r splitter to avoid need for 6928 early clobber. 6929 69302015-03-14 Jakub Jelinek <jakub@redhat.com> 6931 6932 PR tree-optimization/65369 6933 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>: 6934 Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of 6935 (vs - 1) * TYPE_SIZE_UNIT (elem_type). 6936 6937 PR tree-optimization/65418 6938 * tree-ssa-reassoc.c (extract_bit_test_mask): If there 6939 are casts in the first PLUS_EXPR operand, ensure tbias and 6940 *totallowp are in the inner type. 6941 6942 PR rtl-optimization/65401 6943 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x 6944 argument. If true, adjust_address_nv of x with big-endian 6945 correction for the mode widening to GET_MODE (y). 6946 (make_field_assignment): Don't do MEM mode widening here. 6947 Use MEM_P instead of GET_CODE == MEM. 6948 69492015-03-13 Ilya Verbin <ilya.verbin@intel.com> 6950 6951 * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for 6952 the external decls. 6953 69542015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 6955 6956 PR target/64600 6957 * config/arm/arm.c (arm_gen_constant, AND case): Use 6958 ARM_SIGN_EXTEND when constructing AND mask. 6959 69602015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com> 6961 6962 * graph.c (print_graph_cfg): Make function names visible and append 6963 parenthesis to it. Also make groups of basic blocks belonging to the 6964 same function visible. 6965 69662015-03-12 Richard Biener <rguenther@suse.de> 6967 6968 PR middle-end/44563 6969 * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards 6970 to avoid quadratic behavior with inline expansion splitting blocks. 6971 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block 6972 with the successor if the predecessor will be merged with it. 6973 * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the 6974 entry block with its successor. 6975 69762015-03-13 Richard Biener <rguenther@suse.de> 6977 6978 PR middle-end/44563 6979 * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove. 6980 (cleanup_tree_cfg_1): Do not call it. 6981 (execute_cleanup_cfg_post_optimizing): Fixup the CFG here. 6982 (fixup_noreturn_call): Mark the stmt as control altering. 6983 * tree-cfg.c (execute_fixup_cfg): Do not dump the function 6984 here. 6985 (pass_data_fixup_cfg): Produce a dump file. 6986 * tree-ssa-dom.c: Include tree-cfgcleanup.h. 6987 (need_noreturn_fixup): New global. 6988 (pass_dominator::execute): Fixup queued noreturn calls. 6989 (optimize_stmt): Queue calls that became noreturn for fixup. 6990 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise. 6991 * tree-ssa-pre.c: Include tree-cfgcleanup.h. 6992 (el_to_fixup): New global. 6993 (eliminate_dom_walker::before_dom_childre): Queue calls that 6994 became noreturn for fixup. 6995 (eliminate): Fixup queued noreturn calls. 6996 * tree-ssa-propagate.c: Include tree-cfgcleanup.h. 6997 (substitute_and_fold_dom_walker): New member stmts_to_fixup. 6998 (substitute_and_fold_dom_walker::before_dom_children): Queue 6999 alls that became noreturn for fixup. 7000 (substitute_and_fold): Fixup queued noreturn calls. 7001 70022015-03-12 Jan Hubicka <hubicka@ucw.cz> 7003 7004 * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P 7005 and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they 7006 are building; for methods check ODR type of class they belong to if 7007 they may lead to a polymorphic call. 7008 (sem_function::compare_polymorphic_p): Be bit smarter about testing 7009 when function may lead to a polymorphic call. 7010 (sem_function::compare_type_list): Remove. 7011 (sem_variable::equals): Update use of compatible_types_p. 7012 (sem_variable::parse_tree_refs): Remove. 7013 (sem_item_optimizer::filter_removed_items): Do not filter out CXX 7014 cdtor. 7015 * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic 7016 matching here. 7017 (func_checker::compatible_polymorphic_types_p): Break out from ... 7018 (unc_checker::compatible_types_p): ... here. 7019 * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p): 7020 Declare. 7021 (unc_checker::compatible_types_p): Update. 7022 * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections): 7023 Remove. 7024 70252015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 7026 7027 PR rtl-optimization/65235 7028 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case): 7029 When first element of vec_concat is const_int, calculate its size 7030 using second element. 7031 70322015-03-12 Richard Biener <rguenther@suse.de> 7033 7034 PR middle-end/65270 7035 * fold-const.c (operand_equal_p): Fix ordering of resetting 7036 OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case. 7037 70382015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com> 7039 7040 * config/s390/s390.c (s390_reorg): Move code to output nops after label 7041 to s390_reorg (). 7042 (s390_asm_output_function_label): Likewise. 7043 * config/s390/s390.c (s390_asm_output_function_label): 7044 Fix function label alignment with -mhtopatch. 7045 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE, 7046 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE 7047 ("nop_2_byte"): New define_insn. 7048 ("nop_4_byte"): Likewise. 7049 ("nop_6_byte"): Likewise. 7050 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes. 7051 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes. 7052 70532015-03-12 Ilya Enkovich <ilya.enkovich@intel.com> 7054 7055 PR target/65103 7056 * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC 7057 register. 7058 70592015-03-12 Ilya Enkovich <ilya.enkovich@intel.com> 7060 7061 PR target/65044 7062 * toplev.c (process_options): Restrict Pointer Bounds Checker 7063 usage with Address Sanitizer. 7064 70652015-03-12 Richard Biener <rguenther@suse.de> 7066 7067 * tree-cfg.c (gimple_split_block): Remove loop finding stmt 7068 to split on. 7069 * omp-low.c (expand_omp_taskreg): Split block before removing 7070 the stmt. 7071 (expand_omp_target): Likewise. 7072 * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it. 7073 * tree-parloops.c (create_call_for_reduction_1): Pass a proper 7074 stmt to split_block. 7075 70762015-03-12 Tom de Vries <tom@codesourcery.com> 7077 7078 PR rtl-optimization/64895 7079 * lra-lives.c (check_pseudos_live_through_calls): Use 7080 actual_call_used_reg_set instead of call_used_reg_set, if available. 7081 70822015-03-10 Jan Hubicka <hubicka@ucw.cz> 7083 7084 * cgraph.c (cgraph_node::release_body): Free function_in_decl_state. 7085 (cgraph_node::remove): Likewise. 7086 (cgraph_node::get_untransformed_body): Likewise. 7087 * varpool.c (varpool_node::remove): Likewise. 7088 (varpool_node::get_constructor): Add sanity check. 7089 70902015-03-11 Sandra Loosemore <sandra@codesourcery.com> 7091 7092 * doc/invoke.texi (-fgnu89-inline): Remove discussion about 7093 old GCC versions. 7094 (-fabi-compat-version): Likewise. 7095 (-ffriend-injection): Likewise. 7096 (-Wdeclaration-after-statement): Likewise. 7097 (-fomit-frame-pointer): Likewise. 7098 (-ftree-coalesce-inlined-vars): Likewise. 7099 (-fvisibility=): Likewise. 7100 * doc/extend.texi (Typeof): Likewise. 7101 (Zero Length): Likewise. 7102 (Escaped Newlines): Likewise. 7103 (Compound Literals): Likewise. 7104 (Function Attributes): Likewise. 7105 (Label Attributes): Likewise. 7106 (Type Attributes): Likewise. 7107 (Function Names): Likewise. 7108 (Other Builtins): Likewise. 7109 (Function Specific Option Pragmas): Likewise. 7110 (C++ Interface): Likewise. 7111 71122015-03-11 Thomas Schwinge <thomas@codesourcery.com> 7113 7114 * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc". 7115 71162015-03-11 Marek Polacek <polacek@redhat.com> 7117 7118 PR tree-optimization/65388 7119 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison. 7120 71212015-03-10 Georg-Johann Lay <avr@gjlay.de> 7122 7123 PR target/65296 7124 * configure.ac [avr]: Check as for options -mrmw, --mlink-relax. 7125 * configure: Regenerate. 7126 * config.in: Regenerate. 7127 * doc/invoke.texi (AVR Options) [-mrmw]: Document it. 7128 [-mn-flash]: Document it. 7129 [__AVR_ARCH__]: Document avrtiny. 7130 7131 * config/avr/gen-avr-mmcu-specs.c (config.h): Include it. 7132 (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION. 7133 (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION. 7134 71352015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 7136 7137 * doc/invoke.texi: Add missing cpu values (z196, zEC12). 7138 71392015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com> 7140 7141 PR target/65242 7142 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not 7143 allow reloads of PLUS in floating point/VSX registers. 7144 71452015-03-11 Junmo Park <junmoz.park@samsung.com> 7146 7147 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add 7148 crypto_sha256_fast. 7149 (cortex_a57_crypto_complex): Add crypto_sha256_slow. 7150 71512015-03-11 Richard Biener <rguenther@suse.de> 7152 7153 PR tree-optimization/65310 7154 * tree-sra.c (build_ref_for_offset): Also preserve larger 7155 alignment. 7156 71572015-03-11 Marat Zakirov <m.zakirov@samsung.com> 7158 7159 * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0. 7160 71612015-03-10 Jakub Jelinek <jakub@redhat.com> 7162 7163 PR target/65368 7164 * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn, 7165 new define_expand. 7166 (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns. 7167 71682015-03-10 Jan Hubicka <hubicka@ucw.cz> 7169 7170 * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ... 7171 (sem_function::equals_wpa): ... here. 7172 71732015-03-10 Marek Polacek <polacek@redhat.com> 7174 Jakub Jelinek <jakub@redhat.com> 7175 7176 PR sanitizer/65367 7177 * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG 7178 when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE 7179 separately. 7180 71812015-03-10 Jakub Jelinek <jakub@redhat.com> 7182 7183 PR target/65286 7184 * config/rs6000/t-linux: For powerpc64* target set 7185 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME. 7186 71872015-03-10 Richard Biener <rguenther@suse.de> 7188 7189 PR middle-end/44563 7190 * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit 7191 for redirect_all_calls. 7192 71932015-03-10 Marek Polacek <polacek@redhat.com> 7194 7195 * gdbinit.in (pcfun): Define and document. 7196 71972015-03-10 Ilya Verbin <ilya.verbin@intel.com> 7198 7199 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead 7200 of libgomp-plugin.h. 7201 (find_target_compiler): Support a case when the path to gcc is 7202 specified in the PATH env var, so COLLECT_GCC doesn't contain a path. 7203 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from 7204 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from 7205 libgomp-plugin.h. 7206 (main): Use GCC_INSTALL_NAME as target_driver_name. 7207 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME 7208 define. 7209 (mkoffload.o): Remove obsolete include path and defines. 7210 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER). 7211 72122015-03-10 Richard Biener <rguenther@suse.de> 7213 7214 PR middle-end/63155 7215 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare. 7216 * tree-ssa-coalesce.c: Include timevar.h. 7217 (attempt_coalesce): Handle graph being NULL. 7218 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING. 7219 Split out abnormal coalescing to ... 7220 (perform_abnormal_coalescing): ... this function. 7221 (coalesce_ssa_name): Perform abnormal coalescing without computing 7222 live/conflict. 7223 (verify_ssa_coalescing_worker): New function. 7224 (verify_ssa_coalescing): Likewise. 7225 72262015-03-10 Georg-Johann Lay <avr@gjlay.de> 7227 7228 PR target/65296 7229 * config.gcc (extra_options) [avr]: Remove. 7230 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o. 7231 (tm_file) [avr]: Add avr/specs.h after avr/avr.h. 7232 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS. 7233 7234 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include. 7235 (-mmcu=): Add Var and MissingArgError properties. 7236 (-march=): Remove. 7237 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=. 7238 * config/avr/t-multilib: Regenerate. 7239 * config/avr/specs.h: New file. 7240 * config/avr/driver-avr.c: New file. 7241 * config/avr/genopt.sh: Remove file. 7242 * config/avr/avr-tables.opt: Remove file. 7243 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch. 7244 * config/avr/avr-c.c: Same. 7245 * avr-arch.h: Same. 7246 (avr_current_device): Remove proto. 7247 * config/avr/avr.h (avr_current_arch): Rename to avr_arch. 7248 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device. 7249 (EXTRA_SPEC_FUNCTIONS): Define. 7250 (avr_devicespecs_file): New specs function proto. 7251 (DRIVER_SELF_SPECS): Use device-specs-file spec function. 7252 * config/avr/avr.c (avr_current_arch): Rename to avr_arch. 7253 (avr_current_device): Remove definition and usage. 7254 (avr_set_core_architecture): New static function. 7255 (avr_option_override): Use it. 7256 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them. 7257 (mcu_name): New static array. 7258 (comparator, avr_archs_str, avr_mcus_str): New static functions. 7259 (avr_inform_devices, avr_inform_core_architectures): New functions. 7260 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include. 7261 (avrlibc.h) [WITH_AVRLIBC]: Include. 7262 (../rtems.h, rtems.h) [WITH_RTEMS]: Include. 7263 (print_mcu): Rewrite from scratch. 7264 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC): 7265 Forward to avr-specific specs defined in device-specs file. 7266 * config/avr/t-avr (driver-avr.o): New rule. 7267 (avr-devices.o): Depend on avr-arch.h. 7268 (avr-mcus): No more depend on avr-tables.opt. 7269 (avr-tables.opt): Remove rule. 7270 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM. 7271 72722015-03-10 Ilya Enkovich <ilya.enkovich@intel.com> 7273 7274 * c-family/c.opt (fchkp-use-wrappers): New. 7275 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New. 7276 (chkp_wrap_function): New. 7277 (chkp_build_instrumented_fndecl): Support wrapped 7278 functions. 7279 * doc/invoke.texi (-fcheck-pointer-bounds): New. 7280 (-fchkp-check-incomplete-type): New. 7281 (-fchkp-first-field-has-own-bounds): New. 7282 (-fchkp-narrow-bounds): New. 7283 (-fchkp-narrow-to-innermost-array): New. 7284 (-fchkp-optimize): New. 7285 (-fchkp-use-fast-string-functions): New. 7286 (-fchkp-use-nochk-string-functions): New. 7287 (-fchkp-use-static-bounds): New. 7288 (-fchkp-use-static-const-bounds): New. 7289 (-fchkp-treat-zero-dynamic-size-as-infinite): New. 7290 (-fchkp-check-read): New. 7291 (-fchkp-check-write): New. 7292 (-fchkp-store-bounds): New. 7293 (-fchkp-instrument-calls): New. 7294 (-fchkp-instrument-marked-only): New. 7295 (-fchkp-use-wrappers): New. 7296 (-static-libmpx): New. 7297 (-static-libmpxwrappers): New. 7298 72992015-03-10 Ilya Enkovich <ilya.enkovich@intel.com> 7300 7301 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New. 7302 (CHKP_SPEC): Add wrappers library. 7303 * c-family/c.opt (static-libmpxwrappers): New. 7304 73052015-03-10 Ilya Enkovich <ilya.enkovich@intel.com> 7306 7307 * config/i386/linux-common.h (LIBMPX_LIBS): New. 7308 (LIBMPX_SPEC): New. 7309 (CHKP_SPEC): New. 7310 * gcc.c (CHKP_SPEC): New. 7311 (LINK_COMMAND_SPEC): Add CHKP_SPEC. 7312 * c-family/c.opt (static-libmpx): New. 7313 73142015-03-10 Richard Biener <rguenther@suse.de> 7315 7316 PR middle-end/44563 7317 * cgraph.h (struct cgraph_edge_hasher): Add hash overload 7318 for compare_type. 7319 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer. 7320 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash. 7321 (cgraph_add_edge_to_call_site_hash): Likewise. 7322 (cgraph_node::get_edge): Likewise. 7323 (cgraph_edge::set_call_stmt): Likewise. 7324 (cgraph_edge::remove_caller): Likewise. 7325 73262015-03-10 Chung-Ju Wu <jasonwucj@gmail.com> 7327 7328 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ... 7329 (callee_saved_gpr_regs_size): ... this. 7330 (callee_saved_regs_first_regno): Rename to ... 7331 (callee_saved_first_gpr_regno): ... this. 7332 (callee_saved_regs_last_regno) Rename to ... 7333 (callee_saved_last_gpr_regno): ... this. 7334 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed 7335 variables. 7336 (nds32_initial_elimination_offset): Likewise. 7337 (nds32_expand_prologue): Likewise. 7338 (nds32_expand_epilogue): Likewise. 7339 (nds32_expand_prologue_v3push): Likewise. 7340 (nds32_expand_epilogue_v3pop): Likewise. 7341 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push): 7342 Adjust renamed variables. 7343 (nds32_output_stack_pop): Likewise. 7344 73452015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com> 7346 7347 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B 7348 code in comment. 7349 73502015-03-10 Jakub Jelinek <jakub@redhat.com> 7351 7352 PR rtl-optimization/65321 7353 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider 7354 than shift mode. 7355 * var-tracking.c (use_narrower_mode): Likewise. 7356 73572015-03-10 Jan Hubicka <hubicka@ucw.cz> 7358 7359 PR tree-optimization/65355 7360 * varasm.c (notice_global_symbol): Do not produce RTL. 7361 * symtab.c (symtab_node::can_increase_alignment_p): Check for section 7362 anchor. 7363 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not 7364 check for section anchors. 7365 73662015-03-10 Alan Modra <amodra@gmail.com> 7367 7368 PR target/65286 7369 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux 7370 to be single-arch by default. Set cpu_is_64bit for powerpc64 7371 given --with-cpu=native. 7372 * config/rs6000/t-fprules: Do not set default MULTILIB vars. 7373 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64 7374 and powerpc64le. 7375 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test 7376 rs6000_isa_flags rather than TARGET_64BIT. 7377 73782015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp> 7379 Kaz Kojima <kkojima@gcc.gnu.org> 7380 7381 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases. 7382 73832015-03-09 Jakub Jelinek <jakub@redhat.com> 7384 7385 PR lto/65361 7386 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT 7387 on a TREE_BINFO, instead use BINFO_TYPE. 7388 73892015-03-09 Richard Biener <rguenther@suse.de> 7390 7391 PR middle-end/65270 7392 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF. 7393 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs 7394 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases 7395 of that. When comparing dereferences compare alignment. 7396 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info. 7397 73982015-03-08 Jan Hubicka <hubicka@ucw.cz> 7399 7400 * ipa-inline-analysis.c (check_callers): Check 7401 node->can_remove_if_no_direct_calls_and_refs_p. 7402 (growth_likely_positive): Reorganize to call 7403 can_remove_if_no_direct_calls_p later. 7404 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p, 7405 will_be_removed_from_program_if_no_direct_calls_p): Add 7406 will_inline parameter. 7407 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p, 7408 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p): 7409 Handle inliner case correctly. 7410 74112015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com> 7412 7413 PR tree-optimization/63743 7414 * cfgexpand.c (reorder_operands): Also reorder if only second operand 7415 had its definition forwarded by TER. 7416 74172015-03-08 Jan Hubicka <hubicka@ucw.cz> 7418 7419 PR lto/65316 7420 * ipa-utils.h (types_odr_comparable): Add strict argument. 7421 * ipa-devirt.c: Fix whitespace; 7422 (odr_hasher): Remove. 7423 (odr_name_hasher, odr_vtable_hasher): New hashers. 7424 (can_be_name_hashed_p): New predicate. 7425 (hash_type_name): remove. 7426 (hash_odr_name): New. 7427 (odr_name_hasher::hash): new. 7428 (can_be_vtable_hashed_p): New. 7429 (hash_odr_vtable): New. 7430 (odr_vtable_hasher::hash): New. 7431 (types_same_for_odr): Add strict parameter. 7432 (types_odr_comparable): Likewise. 7433 (odr_name_hasher::equal): New. 7434 (odr_vtable_hasher::equal): New. 7435 (odr_name_hasher::remove): New. 7436 (odr_hash_type): Change to hash_table<odr_name_hasher>. 7437 (odr_vtable_hash_type): New. 7438 (odr_vtable_hash): New. 7439 (odr_subtypes_equivalent_p): Do strict comparsion. 7440 (add_type_duplicate): Merge type names; cleanup; avoid type 7441 duplicates. 7442 (register_odr_type): Initialize vtable hash. 7443 (build_type_inheritance_graph): Likewise 7444 (get_odr_type): Reorg to use two hashes. 7445 (dump_possible_polymorphic_call_targets): Move sanity check after debug 7446 output. 7447 (ipa_devirt): Dump type_inheritance_graph. 7448 (types_same_for_odr): Add strict mode. 7449 74502015-03-05 Jan Hubicka <hubicka@ucw.cz> 7451 7452 PR ipa/65334 7453 * cgraph.h (symtab_node): Add definition_alignment, 7454 can_increase_alignment_p and increase_alignment. 7455 * symtab.c (symtab_node::can_increase_alignment_p, 7456 increase_alignment_1, symtab_node::increase_alignment, 7457 symtab_node::definition_alignment): New. 7458 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use 7459 can_increase_alignment_p. 7460 * tree-vectorizer.c (increase_alignment): Use increase_alignment. 7461 * tree-vect-stmts.c (ensure_base_align): Likewise. 7462 * varasm.c (function_section_1): Use definition_alignment. 7463 (assemble_start_function): Likewise. 7464 (emit_local): likewise. 7465 (build_constant_desc): Likewsie. 7466 (output_constant_def_contents): Likewise. 7467 (place_block_symbol): Likewise. 7468 (output_object_block): Likewise. 7469 74702015-03-05 Jan Hubicka <hubicka@ucw.cz> 7471 7472 PR ipa/65316 7473 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE 7474 when outputting debug. 7475 74762015-03-07 Marek Polacek <polacek@redhat.com> 7477 Martin Uecker <uecker@eecs.berkeley.edu> 7478 7479 PR sanitizer/65280 7480 * doc/invoke.texi: Update description of -fsanitize=bounds. 7481 74822015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com> 7483 7484 * tree-ssa-phiopt.c (neg_replacement): Remove. 7485 (tree_ssa_phiopt_worker): Remove negate optimization. 7486 74872015-03-05 Jan Hubicka <hubicka@ucw.cz> 7488 7489 PR ipa/65302 7490 * value-prof.c (gimple_ic): Pure dead eh edges when needed. 7491 74922015-03-06 Richard Biener <rguenther@suse.de> 7493 7494 PR middle-end/64928 7495 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack 7496 and liveout_obstack members. 7497 (calculate_live_on_exit): Remove. 7498 (calculate_live_ranges): Change declaration. 7499 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var. 7500 (new_tree_live_info): Adjust. 7501 (calculate_live_ranges): Delete livein when not wanted. 7502 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack. 7503 Deal with partly deleted live info. 7504 (loe_visit_block): Remove temporary bitmap by using 7505 bitmap_ior_and_compl_into. 7506 (live_worklist): Adjust accordingly. 7507 (calculate_live_on_exit): Make static. 7508 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges 7509 we do not need livein. 7510 75112015-03-06 Jonathan Wakely <jwakely@redhat.com> 7512 7513 * real.c (real_from_string): Fix typo in assertion. 7514 75152015-03-06 Alex Velenko <alex.velenko@arm.com> 7516 7517 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of 7518 the patch. 7519 75202015-03-05 Jan Hubicka <hubicka@ucw.cz> 7521 7522 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags. 7523 75242015-03-05 Vladimir Makarov <vmakarov@redhat.com> 7525 7526 PR target/64342 7527 * lra-assigns.c (find_hard_regno_for): Rename to 7528 find_hard_regno_for_1. Add a new parameter. 7529 (find_hard_regno_for): New function using find_hard_regno_for_1. 7530 75312015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de> 7532 7533 PR rtl-optimization/65067 7534 * expmed.c (store_bit_field, extract_bit_field): Reworked the 7535 strict volatile bitfield handling. 7536 75372015-03-05 Martin Liska <mliska@suse.cz> 7538 7539 PR ipa/65318 7540 * ipa-icf.c (sem_variable::equals): Compare variables types. 7541 75422015-03-05 Richard Henderson <rth@redhat.com> 7543 7544 PR target/65121 7545 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to 7546 correctly check weak symbol binding. 7547 75482015-03-05 Steve Ellcey <sellcey@imgtec.com> 7549 7550 PR middle-end/65315 7551 * cfgexpand.c (expand_stack_vars): Update large_align to maximum 7552 needed alignment. 7553 75542015-03-05 Martin Liska <mliska@suse.cz> 7555 7556 * ipa-inline.c (inline_small_functions): Set default value to 7557 prevent warning during bootstrap. 7558 * tree.h: Add pragma guard that ignores false positives during 7559 bootstrap. 7560 75612015-03-05 Richard Biener <rguenther@suse.de> 7562 7563 PR tree-optimization/65310 7564 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): 7565 Properly preserve alignment of the base of the access. 7566 75672015-03-05 Richard Biener <rguenther@suse.de> 7568 7569 PR ipa/65270 7570 * ipa-icf-gimple.c (func_checker::compare_memory_operand): 7571 Compare dependence info. 7572 75732015-03-05 Richard Biener <rguenther@suse.de> 7574 7575 PR middle-end/65233 7576 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and 7577 tree-into-ssa.h. 7578 (walk_ssa_copies): Revert last chage. Instead do not walk 7579 SSA names registered for SSA update. 7580 75812015-03-03 Jan Hubicka <hubicka@ucw.cz> 7582 7583 PR ipa/65270 7584 * ipa-icf.c (sem_item::compare_cgraph_references): Compare 7585 vtable references for their containing type. 7586 (sem_function::equals_wpa): Compare TYPE_RESTRICT 7587 and type attributes. 7588 75892015-03-04 Eric Botcazou <ebotcazou@adacore.com> 7590 7591 * fold-const.c (round_up_loc): Cast divisor to signed on all paths 7592 before negating it. 7593 * stor-layout.c (finalize_record_size): Revert latest change. 7594 75952015-03-04 Andreas Tobler <andreast@gcc.gnu.org> 7596 7597 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs. 7598 75992015-03-03 Jan Hubicka <hubicka@ucw.cz> 7600 7601 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite 7602 for correct comdat handling. 7603 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p): 7604 Likewise. 7605 * cgraph.h (call_for_symbol_and_aliases): Fix formating. 7606 (used_from_object_file_p_worker): Remove. 7607 (cgraph_node::only_called_directly_or_alised): Add 7608 used_from_object_file_p. 7609 * ipa-inline-analysis.c (growth_likely_positive): Optimie. 7610 * ipa-inline-transform.c (can_remove_node_now_p_1): Use 7611 can_remove_if_no_direct_calls_and_refs_p. 7612 76132015-03-04 Nick Clifton <nickc@redhat.com> 7614 7615 * config/rl78/rl78.h (enum reg_class): Remove real registers from 7616 General register class. 7617 * config/rl78/rl78-real.md: Replace general register constraints 7618 with real+virtual register constraints. 7619 76202015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 7621 7622 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins 7623 from checking for -mhtm option. 7624 76252015-03-03 Jan Hubicka <hubicka@ucw.cz> 7626 7627 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases. 7628 (struct ipa_sra_check_caller_data): Add has_thunk field. 7629 (ipa_sra_check_caller): Check for thunk. 7630 (ipa_sra_preliminary_function_checks): Give up on function with 7631 thunks. 7632 (ipa_early_sra): Use call_for_symbol_and_aliases. 7633 76342015-03-03 Kaz Kojima <kkojima@gcc.gnu.org> 7635 7636 PR target/65249 7637 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when 7638 called for __stack_chk_guard symbol. 7639 76402015-03-03 DJ Delorie <dj@redhat.com> 7641 7642 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for 7643 inc/dec. 7644 (*addhi3_real): Likewise. 7645 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional 7646 pattern to match incrementing memory. 7647 * config/rl78/predicates.md (rl78_1_2_operand): New. 7648 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if 7649 it's the same and only mem. 7650 (rl78_alloc_physical_registers_op2): If there's effectively only 7651 one MEM, transcode it into HL. 7652 (rl78_far_p): Reject addresses that aren't legitimate. 7653 76542015-03-03 Eric Botcazou <ebotcazou@adacore.com> 7655 7656 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before 7657 negating it. 7658 7659 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message. 7660 76612015-03-03 Max Filippov <jcmvbkbc@gmail.com> 7662 7663 Implement call0 ABI for xtensa 7664 * config/xtensa/constraints.md ("a" constraint): Include stack 7665 pointer in case of call0 ABI. 7666 ("q" constraint): Make empty in case of call0 ABI. 7667 ("D" constraint): Include stack pointer in case of call0 ABI. 7668 * config/xtensa/xtensa-protos.h (xtensa_set_return_address, 7669 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function 7670 prototypes. 7671 * config/xtensa/xtensa.c (xtensa_callee_save_size): New 7672 variable. 7673 (xtensa_regno_to_class): Make it a local variable in the 7674 function xtensa_regno_to_class. 7675 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove 7676 macro, function prototype and implementation. 7677 (reg_nonleaf_alloc_order): Make it a local variable in the 7678 function order_regs_for_local_alloc. 7679 (xtensa_conditional_register_usage): New function. 7680 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro. 7681 (xtensa_valid_move): Allow direct moves to stack pointer 7682 register in call0 ABI. 7683 (xtensa_setup_frame_addresses): Only spill register windows in 7684 windowed ABI. 7685 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and 7686 call0 ABI respectively. 7687 (xtensa_function_arg_1): Only mark a7 register for copying in 7688 windowed ABI. 7689 (xtensa_call_save_reg): New function. 7690 (compute_frame_size): Add space for callee saved register 7691 storage to the frame size in call0 ABI. 7692 (xtensa_expand_prologue): Generate code to set up stack frame 7693 and save callee-saved registers in call0 ABI. 7694 (xtensa_expand_epilogue): New function. 7695 (xtensa_set_return_address): New function. 7696 (xtensa_return_addr): Calculate return address in call0 ABI. 7697 (xtensa_builtin_saveregs): Only mark a7 register for copying and 7698 emit copying code in windowed ABI. 7699 (order_regs_for_local_alloc): Add preferred register allocation 7700 order for non-leaf function in call0 ABI. 7701 (xtensa_static_chain): Add atatic chain passing for call0 ABI. 7702 (xtensa_asm_trampoline_template): Add trampoline generation for 7703 call0 ABI. 7704 (xtensa_trampoline_init): Add trampoline initialization for 7705 call0 ABI. 7706 (xtensa_conditional_register_usage, xtensa_regno_to_class): New 7707 functions. 7708 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro. 7709 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI. 7710 (CALL_USED_REGISTERS): Modify to encode both windowed and call0 7711 ABI call-used registers. 7712 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI. 7713 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in 7714 call0 ABI. 7715 (REG_CLASS_CONTENTS): Include all registers into the preferred 7716 reload registers set, adjust the set in the 7717 xtensa_conditional_register_usage. 7718 (xtensa_regno_to_class): Drop variable declaration. 7719 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class 7720 function. 7721 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI 7722 respectively. 7723 (FUNCTION_PROFILER): Add _mcount call for call0 ABI. 7724 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI. 7725 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI. 7726 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool 7727 location in call0 ABI. 7728 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing 7729 stack adjustment size when handling exception. 7730 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI. 7731 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New 7732 definitions. 7733 ("return" pattern): Generate ret.n/ret in call0 ABI. 7734 ("epilogue" pattern): Expand epilogue. 7735 ("nonlocal_goto" pattern): Use default in call0 ABI. 7736 ("eh_return" pattern): Move implementation to eh_set_a0_windowed, 7737 emit eh_set_a0_* depending on ABI. 7738 ("eh_set_a0_windowed" pattern): Former eh_return pattern. 7739 ("eh_set_a0_call0", "blockage"): New patterns. 7740 77412015-03-03 Martin Liska <mliska@suse.cz> 7742 7743 PR ipa/65287 7744 * ipa-icf.c (sem_variable::parse): Skip all alias variables. 7745 77462015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com> 7747 7748 PR 65138/target 7749 * config/rs6000/rs6000-tables.opt: Regenerate table. 7750 77512015-03-03 Renlin Li <renlin.li@arm.com> 7752 7753 * doc/md.texi (@item ^): Change ? into ^. 7754 77552015-03-03 H.J. Lu <hongjiu.lu@intel.com> 7756 7757 * doc/tm.texi: Regenerated. 7758 77592015-03-03 Max Filippov <jcmvbkbc@gmail.com> 7760 7761 * builtins.c (expand_builtin_return_addr): Add 7762 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove 7763 surrounding #ifdef. 7764 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change 7765 definition to 1. 7766 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME): 7767 Likewise. 7768 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if 7769 undefined. 7770 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update 7771 paragraph. 7772 77732015-03-03 Martin Jambor <mjambor@suse.cz> 7774 Eric Botcazou <ebotcazou@adacore.com> 7775 7776 * tree-sra.c (ipa_sra_check_caller_data): New type. 7777 (has_caller_p): Removed. 7778 (ipa_sra_check_caller): New function. 7779 (ipa_sra_preliminary_function_checks): Use it. 7780 77812015-03-03 Martin Liska <mliska@suse.cz> 7782 7783 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or 7784 instead of if branch. 7785 77862015-03-03 Martin Liska <mliska@suse.cz> 7787 7788 PR ipa/65282 7789 * ipa-icf.c (sem_variable::equals): Fix wrong condition. 7790 77912015-03-23 Jeff Law <law@redhat.com> 7792 7793 PR tree-optimization/65241 7794 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr 7795 hash table if INSERT is true. 7796 77972015-03-03 Georg-Johann Lay <avr@gjlay.de> 7798 7799 PR target/65296 7800 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove. 7801 78022015-03-03 Georg-Johann Lay <avr@gjlay.de> 7803 7804 PR target/64331 7805 * config/avr/avr.c (context.h, tree-pass.h): Include them. 7806 (avr_pass_data_recompute_notes): New static variable. 7807 (avr_pass_recompute_notes): New class. 7808 (avr_register_passes): New static function. 7809 (avr_option_override): Call it. 7810 78112015-03-03 Georg-Johann Lay <avr@gjlay.de> 7812 7813 Fix various problems with specs file generation. 7814 7815 PR target/65296 7816 * config.gcc (extra_gcc_objs) [avr]: Remove. 7817 * config/avr/driver-avr.c: Remove file. 7818 * config/avr/t-avr (driver-avr.o): Remove rule. 7819 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and 7820 INCLUDES to build. Depend on TM_H. 7821 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various 7822 build warnings. Fix non-matching types and non-existing %-codes. 7823 (tm.h): Include. 7824 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a. 7825 (*libgcc) [WITH_AVRLIBC]: Add "-lm". 7826 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition. 7827 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=. 7828 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC) 7829 (LIBGCC_SPEC): Remove definitions. 7830 78312015-03-03 Eric Botcazou <ebotcazou@adacore.com> 7832 7833 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG 7834 to create a register in testing mode. 7835 78362015-03-03 Martin Liska <mliska@suse.cz> 7837 Jan Hubicka <hubicka@ucw.cz> 7838 7839 PR ipa/65263 7840 * cgraph.c (cgraph_node::has_thunk_p): New function. 7841 * cgraph.h (cgraph_node::has_thunk_p: Likewise. 7842 * ipa-icf.c (redirect_all_callers): Do not redirect thunks. 7843 (sem_function::merge): Assert is changed. 7844 78452015-03-03 Martin Liska <mliska@suse.cz> 7846 Martin Jambor <mjambor@suse.cz> 7847 7848 PR ipa/65087 7849 * ipa-icf.c (sem_item_optimizer::execute): Change function 7850 return value to boolean. 7851 (sem_item_optimizer::merge_classes): Likewise. 7852 (ipa_icf_driver): Return TODO_remove_functions in case there's 7853 a merge operation processed. 7854 * ipa-icf.h: Change function return value to boolean. 7855 78562015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com> 7857 7858 PR 65138/target 7859 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic 7860 processor type for 64-bit little endian PowerPC. 7861 7862 * config/rs6000/rs6000.c (rs6000_option_override_internal): If 7863 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use 7864 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg 7865 printing built-in mask so it does not pass NULL pointers. 7866 7867 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document 7868 -mcpu=powerpc64le. 7869 78702015-03-02 Steve Ellcey <sellcey@imgtec.com> 7871 7872 PR target/58158 7873 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to 7874 !ISA_HAS_FP_CONDMOVE. 7875 78762015-03-02 Aldy Hernandez <aldyh@redhat.com> 7877 7878 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove 7879 reload_completed. 7880 78812015-03-02 Ulrich Drepper <drepper@gmail.com> 7882 7883 * doc/invoke.texi (Options for Code Generation Conventions): 7884 Fix URL of DSO paper. 7885 78862015-03-02 Jan Hubicka <hubicka@ucw.cz> 7887 7888 PR ipa/65130 7889 * ipa-inline.c (check_callers): Looks for recursion. 7890 (inline_to_all_callers): Give up on uninlinable or recursive edges. 7891 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update 7892 summary of inline clones. 7893 (do_estimate_growth_1): Fix recursion check. 7894 78952015-03-02 Jan Hubicka <hubicka@ucw.cz> 7896 7897 PR ipa/64988 7898 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve 7899 comdat groups. 7900 79012015-03-02 Jan Hubicka <hubicka@ucw.cz> 7902 Aldy Hernandez <aldyh@redhat.com> 7903 7904 PR lto/65276 7905 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert 7906 when checking TYPE_BINFO. 7907 79082015-03-02 Richard Biener <rguenther@suse.de> 7909 7910 PR ipa/65270 7911 * ipa-icf-gimple.c: Include builtins.h. 7912 (func_checker::compare_memory_operand): Compare base alignment. 7913 79142015-03-02 Ilya Enkovich <ilya.enkovich@intel.com> 7915 7916 PR target/65184 7917 * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds 7918 are never passed by reference. 7919 79202015-03-02 Ilya Enkovich <ilya.enkovich@intel.com> 7921 7922 PR target/65183 7923 * tree-chkp.c (chkp_check_lower): Don't check against 7924 zero bounds for already instrumented functions. 7925 (chkp_check_upper): Likewise. 7926 (chkp_fini): Clean pass local data to avoid wrong reusage. 7927 79282015-02-28 Martin Liska <mliska@suse.cz> 7929 Jan Hubicka <hubicka@ucw.cz> 7930 7931 * ipa-icf.c (sem_variable::equals): Improve debug output; 7932 get variable constructor. 7933 (sem_variable::parse): Do not filter out too early; give up on 7934 volatile and register vars. 7935 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly 7936 variables. 7937 * ipa-icf.h (sem_variable::init): Do not set ctor. 7938 (sem_variable::ctor): Remove. 7939 79402015-03-01 Aldy Hernandez <aldyh@redhat.com> 7941 7942 PR middle-end/65233 7943 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs. 7944 79452015-02-28 Jan Hubicka <hubicka@ucw.cz> 7946 7947 * ipa-icf.c: Include stor-layout.h 7948 (sem_function::compare_cgraph_references): Rename to ... 7949 (sem_item::compare_cgraph_references): ... this one. 7950 (sem_variable::equals_wpa): New function 7951 (sem_variable::equals): Do not check stuff already verified by 7952 equals_wpa. 7953 (sem_variable::equals): Reorg based on varasm.c:compare_constant. 7954 * ipa-icf.h (sem_item): Add compare_cgraph_references. 7955 (sem_function): Remove compare_cgraph_references. 7956 (sem_variable): Turns equals_wpa into non-inline. 7957 79582015-02-28 Jan Hubicka <hubicka@ucw.cz> 7959 7960 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT. 7961 (sem_item::add_expr): New function. 7962 (sem_function::hash_stmt): Handle operands of most statements. 7963 (sem_variable::get_hash): Hash the actual constructor. 7964 * ipa-icf.h (sem_item): Add add_expr. 7965 (sem_function): Update prototype of hash_stmt 7966 79672015-02-28 Martin Liska <mliska@suse.cz> 7968 Jan Hubicka <hubicka@ucw.cz> 7969 7970 PR ipa/65245 7971 * ipa-icf-gimple.c (func_checker::compare_function_decl): 7972 Remove. 7973 (func_checker::compare_variable_decl): Skip symtab vars. 7974 (func_checker::compare_cst_or_decl): Update. 7975 * ipa-icf.c (sem_function::parse): Do not consider aliases. 7976 (sem_function::compare_cgraph_references): Add ADDRESS parameter; 7977 use correct symtab predicates. 7978 (sem_function::equals_wpa): Update uses of compare_cgraph_references. 7979 (sem_variable::parse): Update comment. 7980 (sem_item_optimizer::build_graph): Consider ultimate aliases 7981 for references. 7982 79832015-02-28 Jan Hubicka <hubicka@ucw.cz> 7984 7985 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling 7986 of OBJ_TYPE_REF. 7987 79882015-02-28 Jan Hubicka <hubicka@ucw.cz> 7989 7990 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT. 7991 (sem_variable::merge) Likewise. 7992 79932015-02-28 Jan Hubicka <hubicka@ucw.cz> 7994 7995 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline 7996 target; also match flag_ipa_devirt. 7997 79982015-03-01 Martin Liska <mliska@suse.cz> 7999 Jan Hubicka <hubicka@ucw.cz> 8000 8001 * ipa-icf-gimple.c (func_checker::compare_variable_decl): 8002 Validate variable alignment. 8003 * ipa-icf.c (sem_function::equals_private): Be more precise 8004 about non-common function attributes. 8005 (sem_variable::equals): Likewise. 8006 80072015-02-28 Jan Hubicka <hubicka@ucw.cz> 8008 8009 PR ipa/65237 8010 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias 8011 across COMDAT group boundary. 8012 80132015-02-28 Jan Hubicka <hubicka@ucw.cz> 8014 8015 PR ipa/65232 8016 * ipa-icf.c (clear_decl_rtl): New function. 8017 (sem_function::merge): Clear RTL before forming alias. 8018 (sem_variable::merge): Clear RTL before forming alias. 8019 80202015-02-28 Jan Hubicka <hubicka@ucw.cz> 8021 8022 PR ipa/65236 8023 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt. 8024 80252015-02-28 Xingxing Pan <xxingpan@marvell.com> 8026 8027 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type 8028 to neon_to_gp<q>. 8029 80302015-02-27 Vladimir Makarov <vmakarov@redhat.com> 8031 8032 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix 8033 a typo in the description. 8034 80352015-02-27 Vladimir Makarov <vmakarov@redhat.com> 8036 8037 PR target/64317 8038 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New. 8039 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New. 8040 * lra-constraints.c: Include "params.h". 8041 (EBB_PROBABILITY_CUTOFF): Use 8042 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF. 8043 (lra_inheritance): Use '<' instead of '<=' for 8044 EBB_PROBABILITY_CUTOFF. 8045 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff): 8046 Document change. 8047 80482015-02-27 Martin Liska <mliska@suse.cz> 8049 8050 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing 8051 vector length condition. 8052 80532015-02-27 Sandra Loosemore <sandra@codesourcery.com> 8054 8055 * doc/extend.texi (x86 transactional memory intrinsics): 8056 Reorganize discussion of _xbegin. Clarify that the return 8057 value is a bit mask. Expand example and move to end of section. 8058 80592015-02-26 Jakub Jelinek <jakub@redhat.com> 8060 Aldy Hernandez <aldyh@redhat.com> 8061 8062 PR rtl-optimization/65220 8063 * config/i386/i386.md (*udivmod<mode>4_pow2): New. 8064 80652015-02-27 Vladimir Makarov <vmakarov@redhat.com> 8066 8067 PR target/65032 8068 * lra-remat.c (update_scratch_ops): New. 8069 (do_remat): Call it. 8070 * lra.c (lra_register_new_scratch_op): New. Take code from ... 8071 (remove_scratches): ... here. 8072 * lra-int.h (lra_register_new_scratch_op): New prototype. 8073 80742015-02-27 Marek Polacek <polacek@redhat.com> 8075 8076 PR c/65040 8077 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable 8078 -Wformat-signedness anymore. 8079 80802015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 8081 8082 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New 8083 function. 8084 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro. 8085 80862015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 8087 8088 * config/s390/s390.c (enum s390_builtin): 8089 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC. 8090 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc. 8091 (s390_init_builtins): Generate new builtin functions. 8092 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants. 8093 (s390_sfpc, s390_efpc): New pattern definitions. 8094 80952015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 8096 8097 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin): 8098 Rename S390_BUILTIN_max to S390_BUILTIN_MAX. 8099 (s390_builtin_decls): New array. 8100 (s390_init_builtins): Put builtin decls into s390_builtin_decls. 8101 (s390_builtin_decl): New function. 8102 (TARGET_BUILTIN_DECL): Define macro. 8103 81042015-02-27 Richard Biener <rguenther@suse.de> 8105 8106 PR middle-end/63175 8107 * builtins.c (get_object_alignment_2): Make sure to re-apply 8108 the ANDed mask after recursing to its operand gets us a new 8109 misalignment bit position. 8110 81112015-02-26 Jan Hubicka <hubicka@ucw.cz> 8112 Martin Liska <mliska@suse.cz> 8113 8114 PR bootstrap/65150 8115 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton): 8116 Use address_matters_p. 8117 (redirect_all_callers, set_addressable): New functions. 8118 (sem_function::merge): Reorganize and fix merging issues. 8119 (sem_variable::merge): Likewise. 8120 (sem_variable::compare_sections): Remove. 8121 * common.opt (fmerge-all-constants, fmerge-constants): Remove 8122 Optimization flag. 8123 * symtab.c (symtab_node::resolve_alias): When alias has aliases, 8124 redirect them. 8125 (symtab_node::make_decl_local): Set ADDRESSABLE bit when 8126 decl is used. 8127 (address_matters_1): New function. 8128 (symtab_node::address_matters_p): New function. 8129 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix 8130 check for merged flag. 8131 * cgraph.h (address_matters_p): Declare. 8132 (symtab_node::address_taken_from_non_vtable_p): Remove. 8133 (symtab_node::address_can_be_compared_p): New method. 8134 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify. 8135 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p): 8136 Remove. 8137 (comdat_can_be_unshared_p_1) Use address_matters_p. 8138 (update_vtable_references): Fix formating. 8139 * ipa-ref.c (ipa_ref::address_matters_p): Move inline. 8140 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag. 8141 * cgraphclones.c: Preserve merged and icf_merged flags. 8142 81432015-02-26 Sandra Loosemore <sandra@codesourcery.com> 8144 8145 * doc/extend.texi (Function Attributes): Fix spelling and typos. 8146 (Label Attributes): Likewise. 8147 (Cilk Plus Builtins): Likewise. 8148 (ARC SIMD Built-in Functions): Likewise. 8149 (ARM C Language Extensions (ACLE)): Likewise. 8150 (PowerPC Built-in Functions): Likewise. 8151 (PowerPC Hardware Transactional Memory Built-in Functions): 8152 Likewise. 8153 81542015-02-26 Jakub Jelinek <jakub@redhat.com> 8155 8156 PR tree-optimization/65216 8157 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of 8158 new stmt and new SSA_NAME for lhs whenever the arguments have 8159 changed and weren't just swapped. Fix comment typo. 8160 8161 PR tree-optimization/65215 8162 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false 8163 for PDP endian targets. 8164 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop): 8165 Fix up formatting issues. 8166 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access 8167 size is smaller than the original, adjust MEM_REF offset by the 8168 difference of sizes. Use is_gimple_mem_ref_addr instead of 8169 is_gimple_min_invariant test to avoid adding address temporaries. 8170 81712015-02-26 Martin Liska <mliska@suse.cz> 8172 Jan Hubicka <hubicka@ucw.cz> 8173 8174 PR ipa/64693 8175 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New. 8176 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function. 8177 (sem_item_optimizer::process_cong_reduction): Include division by 8178 sensitive references. 8179 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class. 8180 * ipa-ref.c (ipa_ref::address_matters_p): New function. 8181 * ipa-ref.h (ipa_ref::address_matters_p): Likewise. 8182 81832015-02-26 Georg-Johann Lay <avr@gjlay.de> 8184 8185 PR target/65192 8186 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range): 8187 Remove. 8188 * config/avr/avr.c: Same. 8189 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>: 8190 Refuse any constant address not in 0..0xbf. 8191 * config/avr/avr.md (*mov<mode>, *movsf): Remove 8192 tiny_valid_direct_memory_access_range from insn conditions. 8193 (mov<mode>): Don't special-case expansion of avrtiny addresses. 8194 81952015-02-26 Oleg Endo <olegendo@gcc.gnu.org> 8196 8197 PR target/61142 8198 * config/sh/sh.c (sh_check_add_incdec_notes): New function. 8199 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it. 8200 * config/sh/predicates.md (const_logical_operand): New predicate. 8201 * config/sh/sh.md: Add new peephole2 patterns. 8202 82032015-02-26 Marek Polacek <polacek@redhat.com> 8204 8205 PR ipa/65008 8206 * ipa-inline.c (early_inliner): Recompute inline parameters. 8207 82082015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 8209 8210 PR target/65171 8211 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure 8212 instructions with TImode operands are included in the analysis. 8213 82142015-02-26 Sebastian Pop <s.pop@samsung.com> 8215 8216 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges 8217 of an EDGE_FSM_THREAD. 8218 82192015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com> 8220 8221 * config/rs6000/htm.md (tcheck): Fix assembly encoding. 8222 82232015-02-25 Aldy Hernandez <aldyh@redhat.com> 8224 8225 PR debug/46102 8226 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups. 8227 82282015-02-26 Sebastian Pop <s.pop@samsung.com> 8229 8230 PR tree-optimization/65048 8231 * tree-ssa-threadupdate.c (valid_jump_thread_path): New. 8232 (thread_through_all_blocks): Call valid_jump_thread_path. 8233 Remove invalid FSM jump-thread paths. 8234 82352015-02-26 Jakub Jelinek <jakub@redhat.com> 8236 8237 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table. 8238 (ipa_write_optimization_summaries): Likewise. 8239 * tree-streamer.h: Include data-streamer.h. 8240 (streamer_mode_table): Declare extern variable. 8241 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions. 8242 * lto-streamer-out.c (lto_output_init_mode_table, 8243 lto_write_mode_table): New functions. 8244 (produce_asm_for_decls): Call lto_write_mode_table when streaming 8245 offloading LTO. 8246 * lto-section-in.c (lto_section_name): Add "mode_table" entry. 8247 (lto_create_simple_input_block): Add mode_table argument to the 8248 lto_input_block constructors. 8249 * ipa-prop.c (ipa_prop_read_section, read_replacements_section): 8250 Likewise. 8251 * data-streamer-in.c (string_for_index): Likewise. 8252 * ipa-inline-analysis.c (inline_read_section): Likewise. 8253 * ipa-icf.c (sem_item_optimizer::read_section): Likewise. 8254 * lto-cgraph.c (input_cgraph_opt_section): Likewise. 8255 * lto-streamer-in.c (lto_read_body_or_constructor, 8256 lto_input_toplevel_asms): Likewise. 8257 (lto_input_mode_table): New function. 8258 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields, 8259 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields): 8260 Use bp_pack_machine_mode. 8261 * real.h (struct real_format): Add name field. 8262 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table. 8263 (class lto_input_block): Add mode_table member. 8264 (lto_input_block::lto_input_block): Add mode_table_ argument, 8265 initialize mode_table. 8266 (struct lto_file_decl_data): Add mode_table field. 8267 (lto_input_mode_table, lto_output_init_mode_table): New prototypes. 8268 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields, 8269 unpack_ts_decl_common_value_fields, 8270 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode. 8271 * tree-streamer.c (streamer_mode_table): New variable. 8272 * real.c (ieee_single_format, mips_single_format, 8273 motorola_single_format, spu_single_format, ieee_double_format, 8274 mips_double_format, motorola_double_format, 8275 ieee_extended_motorola_format, ieee_extended_intel_96_format, 8276 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format, 8277 ibm_extended_format, mips_extended_format, ieee_quad_format, 8278 mips_quad_format, vax_f_format, vax_d_format, vax_g_format, 8279 decimal_single_format, decimal_double_format, decimal_quad_format, 8280 ieee_half_format, arm_half_format, real_internal_format): Add name 8281 field. 8282 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise. 8283 82842015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com> 8285 8286 PR target/65161 8287 * config/i386/i386.c (ix86_sched_reorder): Skip instruction 8288 reordering for selective scheduling. 8289 82902015-02-26 Terry Guo <terry.guo@arm.com> 8291 8292 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE. 8293 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag. 8294 (arm_arch_no_volatile_ce): Declare new global variable. 8295 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable. 8296 (arm_option_override): Assign value to arm_arch_no_volatile_ce. 8297 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it. 8298 (TARGET_NO_VOLATILE_CE): New macro. 8299 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow 8300 volatile memory access in IT block 8301 83022015-02-25 Kai Tietz <ktietz@redhat.com> 8303 8304 PR tree-optimization/61917 8305 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case 8306 that reduc_def_stmt is null. 8307 83082015-02-25 Martin Liska <mliska@suse.cz> 8309 8310 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare 8311 hard register variables. 8312 83132015-02-25 Kai Tietz <ktietz@redhat.com> 8314 8315 PR target/64212 8316 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0. 8317 (symtab::noninterposable_alias): Likewise. 8318 83192015-02-25 Ilya Enkovich <ilya.enkovich@intel.com> 8320 8321 PR target/65167 8322 * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support 8323 bounds registers. 8324 (avoid_func_arg_motion): Add dependencies for BNDSTX insns. 8325 83262015-02-25 Alan Lawrence <alan.lawrence@arm.com> 8327 8328 PR target/64997 8329 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P 8330 as split condition; force split via '#' in output pattern. 8331 83322015-02-25 Richard Biener <rguenther@suse.de> 8333 Kai Tietz <ktietz@redhat.com> 8334 8335 PR tree-optimization/61917 8336 * tree-vect-loop.c (vectorizable_reduction): Allow 8337 vect_internal_def without reduction to exit graceful. 8338 83392015-02-25 Georg-Johann Lay <avr@gjlay.de> 8340 8341 PR target/65196 8342 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized 8343 only with NONDEBUG_INSN_P. 8344 83452015-02-25 Georg-Johann Lay <avr@gjlay.de> 8346 8347 Use variadic macros with avr-log.c. 8348 8349 * config/avr/avr-protos.h (avr_vdump): New prototype. 8350 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos. 8351 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump. 8352 * config/avr/avr-log.c: Adjust comments. 8353 (avr_vdump): New function. 8354 (avr_vadump): Pass caller as 2nd argument instead of format string. 8355 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f) 8356 (avr_log_set_caller_e, avr_log_set_caller_f): Remove. 8357 83582015-02-25 Jakub Jelinek <jakub@redhat.com> 8359 8360 PR lto/64374 8361 * target.def (target_option_stream_in): New target hook. 8362 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke 8363 targetm.target_option.post_stream_in if non-NULL. 8364 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN. 8365 * doc/tm.texi: Updated. 8366 * config/i386/i386.c (ix86_function_specific_post_stream_in): New 8367 function. 8368 (TARGET_OPTION_POST_STREAM_IN): Redefine. 8369 83702015-02-24 Jeff Law <law@redhat.com> 8371 8372 PR target/65117 8373 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering 8374 of operand 0 and operand 2. 8375 (zero_cost_loop_end, loop_end): Similarly. 8376 83772015-02-24 Aldy Hernandez <aldyh@redhat.com> 8378 8379 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to 8380 CXX_MEM_STAT_INFO. 8381 83822015-02-24 DJ Delorie <dj@redhat.com> 8383 8384 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well. 8385 * config/rl78/rl78-expand.md (movsf): New, same as movsi. 8386 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it 8387 instead of hardcoding SImode. 8388 83892015-02-24 Bernd Schmidt <bernds@codesourcery.com> 8390 8391 * omp-low.c (create_omp_child_function): Tag entrypoint 8392 functions with a special attribute. 8393 83942015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 8395 8396 PR target/65058 8397 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable. 8398 83992015-02-24 Vladimir Makarov <vmakarov@redhat.com> 8400 8401 PR rtl-optimization/65123 8402 * lra-remat.c (operand_to_remat): Check hard regs in insn 8403 definition too. 8404 84052015-02-24 Nick Clifton <nickc@redhat.com> 8406 8407 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on 8408 to the assembler. 8409 84102015-02-24 Thomas Schwinge <thomas@codesourcery.com> 8411 8412 PR libgomp/64625 8413 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as 8414 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not 8415 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR. 8416 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as 8417 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not 8418 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR. 8419 (BUILT_IN_GOACC_PARALLEL): Specify as 8420 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not 8421 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR. 8422 * builtin-types.def 8423 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) 8424 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): 8425 Remove function types. 8426 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR) 8427 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR) 8428 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): 8429 New function types. 8430 84312015-02-24 Georg-Johann Lay <avr@gjlay.de> 8432 8433 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>. 8434 84352015-02-24 Jakub Jelinek <jakub@redhat.com> 8436 8437 PR tree-optimization/65170 8438 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization, 8439 if val[1] < 0, clear also val[2] and return 3. 8440 84412015-02-24 Alan Modra <amodra@gmail.com> 8442 8443 PR target/65172 8444 * config/rs6000/rs6000.c (get_memref_parts): Only return true 8445 when *base is a reg. Handle nested plus addresses. Simplify 8446 pre_modify test. 8447 84482015-02-22 Max Filippov <jcmvbkbc@gmail.com> 8449 8450 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): 8451 use natural alignment when optimizing for size. 8452 84532015-02-23 Kaz Kojima <kkojima@gcc.gnu.org> 8454 8455 PR target/65153 8456 * config/sh/sh.md (movsicc_true+3): Remove peephole. 8457 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare. 8458 * config/sh/sh.c (replace_n_hard_rtx): Remove. 8459 84602015-02-23 Richard Sandiford <richard.sandiford@arm.com> 8461 8462 PR fortran/63427 8463 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are 8464 too big for a wide_int. Implement missing wrapping operation. 8465 84662015-02-23 Oleg Endo <olegendo@gcc.gnu.org> 8467 8468 PR target/65163 8469 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536 8470 instead of const_int 4294901760. 8471 84722015-02-23 Georg-Johann Lay <avr@gjlay.de> 8473 8474 * config/avr/t-avr: Fix typo in comment. 8475 84762015-02-21 Richard Sandiford <richard.sandiford@arm.com> 8477 8478 * doc/rtl.texi (fma): Clarify documentation. 8479 84802015-02-20 Aldy Hernandez <aldyh@redhat.com> 8481 8482 PR debug/58123 8483 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR 8484 over input_location. 8485 84862015-02-20 Bernd Schmidt <bernds@codesourcery.com> 8487 8488 * tree-streamer-in.c (unpack_ts_decl_common_value_fields, 8489 unpack_ts_type_common_value_fields): If ACCEL_COMPILER, 8490 restrict alignments to absolute_biggest_alignment. 8491 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): 8492 Define. 8493 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add. 8494 * doc/tm.texi: Regenerate. 8495 * target.def (absolute_biggest_alignment): New DEFHOOKPOD. 8496 84972015-02-20 Vladimir Makarov <vmakarov@redhat.com> 8498 8499 PR target/64172 8500 * ira-color.c (color_pass): Prevent splitting multi-register pseudos. 8501 85022015-02-20 Richard Biener <rguenther@suse.de> 8503 8504 PR tree-optimization/65136 8505 * tree-ssa-propagate.c: Include cfgloop.h. 8506 (replace_phi_args_in): Avoid replacing loop latch edge PHI 8507 arguments with constants. 8508 85092015-02-20 Jakub Jelinek <jakub@redhat.com> 8510 Martin Liska <mliska@suse.cz> 8511 8512 PR target/63892 8513 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl), 8514 don't try to create_thunk if stdarg_p. If 8515 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to 8516 redirect_callers if possible. 8517 (sem_item_optimizer::execute): Call unregister_hooks here... 8518 (ipa_icf_driver): ... instead of here. 8519 85202015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 8521 8522 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3): 8523 Mark operand 0 as earlyclobber in 2nd alternative. 8524 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3): 8525 Write negated shift amount into QI lowpart operand 0 and use it 8526 in the shift step. 8527 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise. 8528 85292015-02-20 Bernd Schmidt <bernds@codesourcery.com> 8530 8531 * cgraph.h (clone_function_name_1): Declare. 8532 * cgraphclones.c (clone_function_name_1): New function. 8533 (clone_function_name): Use it. 8534 * lto-partition.c: Include "stringpool.h". 8535 (must_not_rename, maybe_rewrite_identifier) 8536 (validize_symbol_for_target): New static functions. 8537 (privatize_symbol_name): Use must_not_rename. 8538 (promote_symbol): Call validize_symbol_for_target. 8539 (lto_promote_cross_file_statics): Likewise. 8540 (lto_promote_statics_nonwpa): Likewise. 8541 85422015-02-20 Georg-Johann Lay <avr@gjlay.de> 8543 8544 PR target/64452 8545 * config/avr/avr.md (pushhi_insn): New insn. 8546 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn. 8547 85482015-02-20 Bernd Schmidt <bernds@codesourcery.com> 8549 Jakub Jelinek <jakub@redhat.com> 8550 8551 * tree-streamer.c (preload_common_nodes): Don't preload 8552 TI_VA_LIST* for offloading. 8553 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER 8554 in_lto_p. 8555 85562015-02-19 John David Anglin <danlgin@gcc.gnu.org> 8557 8558 * config/pa/pa.c (pa_emit_move_sequence): Always force 8559 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL 8560 note on insn. 8561 8562 * config/pa/pa.c (pa_reloc_rw_mask): New function. 8563 (TARGET_ASM_RELOC_RW_MASK): Define. 8564 (pa_cannot_force_const_mem): Revert previous change. 8565 85662015-02-19 Martin Jambor <mjmabor@suse.cz> 8567 Jan Hubicka <hubicka@ucw.cz> 8568 8569 PR ipa/65028 8570 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation 8571 across jump functions. 8572 85732015-02-19 Uros Bizjak <ubizjak@gmail.com> 8574 8575 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols. 8576 85772015-02-19 Sandra Loosemore <sandra@codesourcery.com> 8578 8579 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit. 8580 85812015-02-19 Richard Henderson <rth@redhat.com> 8582 8583 PR middle-end/65074 8584 * varasm.c (default_binds_local_p_2): Don't test node->definition; 8585 test DECL_EXTERNAL independent of symtab_node. 8586 85872015-02-19 Jakub Jelinek <jakub@redhat.com> 8588 8589 PR lto/65012 8590 * varpool.c (varpool_node::get_constructor): Return early 8591 if this->lto_file_data is NULL. 8592 85932015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> 8594 8595 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG. 8596 (rank_for_schedule_debug): Update. 8597 (ready_sort): Make static. Move sorting logic to ... 8598 (ready_sort_debug, ready_sort_real): New static functions. 8599 (schedule_block): Sort both debug insns and real insns in preparation 8600 for ready list trimming. Improve debug output. 8601 * sched-int.h (ready_sort): Remove global declaration. 8602 86032015-02-18 Trevor Saunders <tsaunders@mozilla.com> 8604 8605 * ipa-icf.c (sem_function::equals_private): Adjust. 8606 (sem_function::bb_dict_test): Take a vec<int> * instead of 8607 auto_vec<int>. 8608 * ipa-icf.h (bb_dict_test): Likewise. 8609 86102015-02-18 Jakub Jelinek <jakub@redhat.com> 8611 8612 PR gcov-profile/64634 8613 * tree-eh.c (frob_into_branch_around): Fix up typos 8614 in function comment. 8615 (lower_catch): Put eh_seq resulting from EH lowering of 8616 the cleanup sequence after the cleanup rather than before it. 8617 86182015-02-18 Tom de Vries <tom@codesourcery.com> 8619 8620 * common.opt (fstdarg-opt): New option. 8621 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt. 8622 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt. 8623 (@item -fstdarg-opt): New item. 8624 86252015-02-18 H.J. Lu <hongjiu.lu@intel.com> 8626 8627 PR target/65064 8628 * config/ia64/predicates.md (sdata_symbolic_operand): Return false 8629 for common symbols. 8630 86312015-02-18 Jakub Jelinek <jakub@redhat.com> 8632 8633 * config/i386/t-intelmic (mkoffload.o): Remove dependency on 8634 insn-modes.h. 8635 (ALL_HOST_OBJS): Add mkoffload.o. 8636 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise. 8637 86382015-02-18 Jan Hubicka <hubicka@ucw.cz> 8639 8640 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating. 8641 (compare_virtual_tables): Be smarter about skipping typeinfos; 8642 do sane output on virtual table table mismatch. 8643 (warn_odr): Be ready for forward declarations of enums; 8644 output sane info on base mismatch and virtual table mismatch. 8645 (add_type_duplicate): Fix code choosing prevailing type; do not ICE 8646 when only one type is polymorphic. 8647 (get_odr_type): Fix hashtable corruption. 8648 (dump_odr_type): Dump mangled names. 8649 86502015-02-18 Richard Biener <rguenther@suse.de> 8651 8652 PR tree-optimization/65063 8653 * tree-predcom.c (determine_unroll_factor): Return 1 if we 8654 have replaced looparound PHIs. 8655 86562015-02-18 Martin Liska <mliska@suse.cz> 8657 8658 * lto-streamer.c (lto_streamer_init): Encapsulate 8659 streamer_check_handled_ts_structures with checking macro. 8660 86612015-02-18 Jakub Jelinek <jakub@redhat.com> 8662 8663 PR ipa/65087 8664 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy 8665 section if !implicit_section. 8666 (cgraph_node::create_version_clone_with_body): Likewise. 8667 * trans-mem.c (ipa_tm_create_version): Likewise. 8668 86692015-02-18 Richard Biener <rguenther@suse.de> 8670 8671 PR tree-optimization/62217 8672 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies 8673 into BIVs. 8674 86752015-02-18 Marek Polacek <polacek@redhat.com> 8676 8677 PR sanitizer/65081 8678 * ubsan.c (OBJSZ_MAX_OFFSET): Define. 8679 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset 8680 is in range [-16K, -1]. Don't issue run-time error if 8681 (ptr > ptr + offset). 8682 86832015-02-18 Thomas Schwinge <thomas@codesourcery.com> 8684 8685 * doc/install.texi (nvptx-*-none): New section. 8686 * doc/invoke.texi (Nvidia PTX Options): Likewise. 8687 * config/nvptx/nvptx.opt: Update. 8688 8689 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs) 8690 (access_check): New functions, copied from 8691 config/i386/intelmic-mkoffload.c. 8692 (main): For non-installed testing, look in all COMPILER_PATHs for 8693 GCC_INSTALL_NAME. 8694 8695 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro. 8696 86972015-02-18 Andrew Pinski <apinski@cavium.com> 8698 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> 8699 8700 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately): 8701 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode. 8702 87032015-02-17 Jan Hubicka <hubicka@ucw.cz> 8704 8705 * ipa-visibility.c (function_and_variable_visibility): Only 8706 check locality if node is not already local. 8707 * ipa-inline.c (want_inline_function_to_all_callers_p): Use 8708 call_for_symbol_and_aliases instead of 8709 call_for_symbol_thunks_and_aliases. 8710 (ipa_inline): Likewise. 8711 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): 8712 first walk aliases. 8713 * ipa.c (symbol_table::remove_unreachable_nodes): Use 8714 call_for_symbol_and_aliases. 8715 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol. 8716 (ipa_propagate_frequency_1): Use it; use opt_for_fn 8717 (ipa_propagate_frequency): Update. 8718 (ipa_profile): Add opt_for_fn gueards. 8719 87202015-02-17 Oleg Endo <olegendo@gcc.gnu.org> 8721 8722 * config/sh/sh.opt (mcbranch-force-delay-slot): New option. 8723 * doc/invoke.texi (SH options): Document it. 8724 * config/sh/sh.c (sh_insn_length_adjustment): Check 8725 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E. 8726 87272015-02-17 H.J. Lu <hongjiu.lu@intel.com> 8728 8729 * common.opt (fipa-cp-alignment): New. 8730 * ipa-cp.c (ipcp_store_alignment_results): Check 8731 flag_ipa_cp_alignment. 8732 * opts.c (default_options_table): Enable -fipa-cp-alignment for 8733 -O2. 8734 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment. 8735 * doc/invoke.texi: Document -fipa-cp-alignment. 8736 87372015-02-17 Oleg Endo <olegendo@gcc.gnu.org> 8738 8739 PR target/64793 8740 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn 8741 to nil. Adjust comments. 8742 87432015-02-17 Jan Hubicka <hubicka@ucw.cz> 8744 8745 * ipa-visibility.c (function_and_variable_visibility): Only 8746 check locality if node is not already local. 8747 * ipa-inline.c (want_inline_function_to_all_callers_p): Use 8748 call_for_symbol_and_aliases instead of 8749 call_for_symbol_thunks_and_aliases. 8750 (ipa_inline): Likewise. 8751 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): 8752 first walk aliases. 8753 * ipa.c (symbol_table::remove_unreachable_nodes): Use 8754 call_for_symbol_and_aliases. 8755 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol. 8756 (ipa_propagate_frequency_1): Use it; use opt_for_fn 8757 (ipa_propagate_frequency): Update. 8758 (ipa_profile): Add opt_for_fn guards. 8759 87602015-02-17 Thomas Schwinge <thomas@codesourcery.com> 8761 8762 * config/nvptx/mkoffload.c (parse_file): Fix logic error in 8763 skipping of "strange" tokens. 8764 87652015-02-17 Jeff Law <law@redhat.com> 8766 8767 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove 8768 obsolete comment. 8769 87702015-02-17 James Greenhalgh <james.greenhalgh@arm.com> 8771 8772 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P 8773 as forcing a HARD_DEP between instructions, thereby 8774 disallowing rewriting to break dependencies. 8775 87762015-02-16 Jan Hubicka <hubicka@ucw.cz> 8777 8778 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton 8779 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of 8780 variables in boundary that have no inlitalizer encoded and are 8781 not aliases. 8782 * varasm.c (default_binds_local_p_2): External definitions do not 8783 count as definitions here. 8784 87852015-02-16 Jeff Law <law@redhat.com> 8786 8787 PR tree-optimization/64823 8788 * tree-vrp.c (identify_jump_threads): Handle blocks with no real 8789 statements. 8790 * tree-ssa-threadedge.c (potentially_threadable_block): Allow 8791 threading through blocks with PHIs, but no statements. 8792 (thread_through_normal_block): Distinguish between blocks where 8793 we did not process all the statements and blocks with no statements. 8794 87952015-02-16 Jakub Jelinek <jakub@redhat.com> 8796 James Greenhalgh <james.greenhalgh@arm.com> 8797 8798 PR ipa/64963 8799 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy 8800 section if not linkonce. Fix up formatting. 8801 (cgraph_node::create_version_clone_with_body): Copy section. 8802 * trans-mem.c (ipa_tm_create_version): Likewise. 8803 88042015-02-16 Richard Biener <rguenther@suse.de> 8805 8806 PR tree-optimization/65077 8807 * tree-ssa-structalias.c (get_constraint_for_1): Handle 8808 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF. 8809 (find_func_aliases): Allow float values to carry pointers again. 8810 88112015-02-16 James Greenhalgh <james.greenhalgh@arm.com> 8812 8813 * doc/install.texi (Specific): Reorder targets list to put 8814 aarch64 in alphabetical order. Add a link to aarch64*-*-* 8815 from the top menu. 8816 88172015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 8818 David Edelsohn <dje.gcc@gmail.com> 8819 8820 PR target/65058 8821 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage 8822 mapping class to external variable or function reference. 8823 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage 8824 mapping class. 8825 88262015-02-16 David Eelsohn <dje.gcc@gmail.com> 8827 8828 PR target/53348 8829 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use 8830 ASM_WEAKEN_DECL if defined. 8831 88322015-02-16 Richard Biener <rguenther@suse.de> 8833 8834 PR lto/65015 8835 * varasm.c (default_file_start): For LTO produced units 8836 emit <artificial> as file directive. 8837 88382015-02-16 Richard Biener <rguenther@suse.de> 8839 8840 PR tree-optimization/63593 8841 * tree-predcom.c (execute_pred_commoning_chain): Delay removing 8842 stmts and releasing SSA names until... 8843 (execute_pred_commoning): ... after processing all chains. 8844 88452015-02-16 Jan Hubicka <hubicka@ucw.cz> 8846 8847 PR ipa/65059 8848 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to 8849 external functions. 8850 88512015-02-15 Sandra Loosemore <sandra@codesourcery.com> 8852 8853 * doc/bugreport.texi: Adjust section titles throughout the file 8854 to use "Title Case". 8855 * doc/extend.texi: Likewise. 8856 * doc/gcov.texi: Likewise. 8857 * doc/implement-c.texi: Likewise. 8858 * doc/implement-cxx.texi: Likewise. 8859 * doc/invoke.texi: Likewise. 8860 * doc/objc.texi: Likewise. 8861 * doc/standards.texi: Likewise. 8862 * doc/trouble.texi: Likewise. 8863 88642015-02-15 Jan Hubicka <hubicka@ucw.cz> 8865 8866 * cgraph.h (symtab_node::has_aliases_p): Simplify. 8867 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p 8868 * tree.c (lookup_binfo_at_offset): Make static. 8869 (get_binfo_at_offset): Do not shadow offset; add explanatory 8870 comment. 8871 88722015-02-15 John David Anglin <danglin@gcc.gnu.org> 8873 8874 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload 8875 for all floading point loads and stores except those using a register 8876 index address. 8877 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand 8878 to a register. 8879 88802015-02-14 Jan Hubicka <hubicka@ucw.cz> 8881 8882 * ipa-inline-analysis.c (growth_data): Add uninlinable field. 8883 (do_estimate_growth_1): Record if any uninlinable edge was seen. 8884 (estimate_growth): Handle uninlinable edges correctly. 8885 (check_callers): New. 8886 (growth_likely_positive): Handle aliases correctly. 8887 88882015-02-14 Jan Hubicka <hubicka@ucw.cz> 8889 8890 * ipa-chkp.c: Use iterate_direct_aliases. 8891 * symtab.c (resolution_used_from_other_file_p): Move inline. 8892 (symtab_node::create_reference): Fix formating. 8893 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases. 8894 (symtab_node::iterate_reference): Move inline. 8895 (symtab_node::iterate_referring): Move inline. 8896 (symtab_node::iterate_direct_aliases): Move inline. 8897 (symtab_node::used_from_object_file_p_worker): Inline into ... 8898 (symtab_node::used_from_object_file_p): ... this one; move inline. 8899 (symtab_node::call_for_symbol_and_aliases): Move inline; 8900 use iterate_direct_aliases. 8901 (symtab_node::call_for_symbol_and_aliases_1): New method. 8902 (cgraph_node::call_for_symbol_and_aliases): Move inline; 8903 use iterate_direct_aliases. 8904 (cgraph_node::call_for_symbol_and_aliases_1): New method. 8905 (varpool_node::call_for_node_and_aliases): Rename to ... 8906 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline; 8907 use iterate_direct_aliases. 8908 (varpool_node::call_for_symbol_and_aliases_1): New method. 8909 * ipa.c (ipa_single_use): Use iterate_direct_aliases. 8910 (ipa_discover_readonly_nonaddressable_var): Update. 8911 * ipa-devirt.c: Fix formating. 8912 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p): 8913 Move inline. 8914 (cgraph_node::call_for_symbol_and_aliases): Move inline. 8915 (cgraph_node::call_for_symbol_and_aliases_1): New function.. 8916 * cgraph.h (used_from_object_file_p_worker): Remove. 8917 (resolution_used_from_other_file_p): Move inline. 8918 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases. 8919 (symtab_node::iterate_reference): Move inline. 8920 (symtab_node::iterate_referring): Move inline. 8921 (symtab_node::iterate_direct_aliases): Move inline. 8922 (symtab_node::used_from_object_file_p_worker): Inline into ... 8923 (symtab_node::used_from_object_file_p): Move inline. 8924 * tree-emutls.c (ipa_lower_emutls): Update. 8925 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method. 8926 (varpool_node::call_for_node_and_aliases): Remove. 8927 89282015-02-14 Jakub Jelinek <jakub@redhat.com> 8929 8930 PR tree-optimization/62209 8931 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and 8932 op == range->exp, insert seq and gimplified code after labels 8933 instead of after the phi. 8934 89352015-02-13 Jeff Law <law@redhat.com> 8936 8937 PR bootstrap/65060 8938 Revert my change for tree-optimization/64823. 8939 89402015-02-13 Jakub Jelinek <jakub@redhat.com> 8941 8942 PR tree-optimization/65053 8943 * tree-ssa-phiopt.c (value_replacement): When moving assign before 8944 cond, either reset VR on lhs or set it to phi result VR. 8945 89462015-02-13 Jeff Law <law@redhat.com> 8947 8948 PR tree-optimization/64823 8949 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements. 8950 * tree-ssa-threadedge.c (potentially_threadable_block): Allow 8951 threading through blocks with PHIs, but no statements. 8952 (thread_through_normal_block): Distinguish between blocks where 8953 we did not process all the statements and blocks with no statements. 8954 8955 PR rtl-optimization/47477 8956 * match.pd (convert (plus/minus (convert @0) (convert @1): New 8957 simplifier to narrow arithmetic. 8958 89592015-02-13 Jan Hubicka <hubicka@ucw.cz> 8960 8961 PR ipa/65028 8962 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop 8963 polymorphic call info when type is not known to be preserved. 8964 89652015-02-13 Maritn Jambor <mjambor@suse.cz> 8966 8967 PR ipa/65028 8968 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function. 8969 (inline_call): Use it. 8970 89712015-02-13 Thomas Schwinge <thomas@codesourcery.com> 8972 8973 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to 8974 GOMP_DEVICE_NVIDIA_PTX. 8975 89762015-02-13 Jakub Jelinek <jakub@redhat.com> 8977 8978 PR ipa/65034 8979 * stmt.c (emit_case_nodes): Use void_type_node instead of 8980 NULL_TREE as LABEL_DECL type. 8981 89822015-02-13 John David Anglin <danglin@gcc.gnu.org> 8983 8984 * config/pa/constraints.md: Change "Q" and "T" constraints to memory 8985 constraints. 8986 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant 8987 symbolic references to data to be forced to constant memory on the 8988 SOM target. 8989 89902015-02-13 Ilya Enkovich <ilya.enkovich@intel.com> 8991 8992 PR tree-optimization/65002 8993 * tree-cfg.c (pass_data_fixup_cfg): Don't update 8994 SSA on start. 8995 * tree-sra.c (some_callers_have_no_vuse_p): New. 8996 (ipa_early_sra): Reject functions whose callers 8997 assume function is read only. 8998 89992015-02-13 Richard Biener <rguenther@suse.de> 9000 9001 PR lto/65015 9002 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name 9003 for LTO produced CUs. 9004 90052015-02-13 Bin Cheng <bin.cheng@arm.com> 9006 9007 PR tree-optimization/64705 9008 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter. 9009 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter. 9010 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New. 9011 (find_bivs, find_givs_in_stmt_scev): Pass new argument to 9012 expand_simple_operations. 9013 90142015-02-13 H.J. Lu <hongjiu.lu@intel.com> 9015 Richard Henderson <rth@redhat.com> 9016 9017 PR rtl/32219 9018 * cgraphunit.c (cgraph_node::finalize_function): Set definition 9019 before notice_global_symbol. 9020 (varpool_node::finalize_decl): Likewise. 9021 * varasm.c (default_binds_local_p_2): Rename from 9022 default_binds_local_p_1, add weak_dominate argument. Use direct 9023 returns instead of assigning to local variable. Unify varpool and 9024 cgraph paths via symtab_node. Reject undef weak variables before 9025 testing visibility. Reorder tests for simplicity. 9026 (default_binds_local_p): Use default_binds_local_p_2. 9027 (default_binds_local_p_1): Likewise. 9028 (decl_binds_to_current_def_p): Unify varpool and cgraph paths 9029 via symtab_node. 9030 (default_elf_asm_output_external): Emit visibility when specified. 9031 90322015-02-13 Alan Modra <amodra@gmail.com> 9033 9034 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in 9035 code setting up r11 for out-of-line fp restore. 9036 90372015-02-13 Eric Botcazou <ebotcazou@adacore.com> 9038 9039 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report. 9040 (muser-mode): Likewise. 9041 90422015-02-13 Alan Modra <amodra@gmail.com> 9043 9044 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry 9045 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr. 9046 90472015-02-12 David Howells <dhowells@redhat.com> 9048 9049 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security 9050 warning. 9051 * tree-ssa-uninit.c (dump_predicates): Likewise. 9052 * opts.c (print_filtered_help): Likewise. 9053 90542015-02-12 Jakub Jelinek <jakub@redhat.com> 9055 9056 * dwarf2out.c (output_die): Use "%s", name instead of name to 9057 avoid -Wformat-security warning. 9058 9059 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define 9060 if ASM_OUTPUT_DWARF_VMS_DELTA is defined. 9061 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta 9062 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined. 9063 90642015-02-12 Jason Merrill <jason@redhat.com> 9065 9066 * common.opt (-flifetime-dse): New. 9067 90682015-02-12 Jakub Jelinek <jakub@redhat.com> 9069 9070 PR sanitizer/65019 9071 * ubsan.c (ubsan_expand_objsize_ifn): Always return true. 9072 9073 PR tree-optimization/65014 9074 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR, 9075 use original second operand of arg0 or arg1 instead of 9076 that adjusted by STRIP_NOPS. 9077 90782015-02-11 Jeff Law <law@redhat.com> 9079 9080 PR target/63347 9081 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn 9082 that needs to be queued, just queue it for a single cycle. 9083 90842015-02-11 Jan Hubicka <hubicka@ucw.cz> 9085 9086 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing 9087 bodies of thunks; comment on why. 9088 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern 9089 symbols are extern. 9090 90912015-02-11 Richard Henderson <rth@redhat.com> 9092 9093 PR sanitize/65000 9094 * tree-eh.c (mark_reachable_handlers): Mark source and destination 9095 regions of __builtin_eh_copy_values. 9096 90972015-02-11 Jakub Jelinek <jakub@redhat.com> 9098 9099 PR middle-end/65003 9100 * varasm.c (place_block_symbol): Assert that DECL_RTL of the 9101 ultimate alias is MEM with SYMBOL_REF satisfying 9102 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM 9103 to place_block_symbol, but instead pass the SYMBOL_REF operand of it. 9104 91052015-02-11 Thomas Schwinge <thomas@codesourcery.com> 9106 9107 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of 9108 "diagnostic-core.h". 9109 (main): Initialize progname, and call diagnostic_initialize. 9110 9111 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__ 9112 instead of __OPENMP_TARGET__. 9113 9114 * config/nvptx/mkoffload.c: Include "gomp-constants.h". 9115 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly) 9116 hard-coding PTX_ID. 9117 91182015-02-11 H.J. Lu <hongjiu.lu@intel.com> 9119 9120 * doc/sourcebuild.texi (pie_enabled): Document. 9121 91222015-02-11 Martin Liska <mliska@suse.cz> 9123 9124 PR ipa/64813 9125 * cgraphunit.c (cgraph_node::expand_thunk): Do not create 9126 a return value for call to a function that is noreturn. 9127 91282015-02-11 Richard Biener <rguenther@suse.de> 9129 9130 PR lto/65015 9131 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list 9132 and -fresolution. 9133 91342015-02-11 Andrew Pinski <apinski@cavium.com> 9135 9136 PR target/64893 9137 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins): 9138 Change the first argument type to size_type_node and add another 9139 size_type_node. 9140 (aarch64_simd_expand_builtin): Handle the new argument to 9141 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather 9142 print an out when the first two arguments are not 9143 nonzero integer constants. 9144 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK): 9145 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi. 9146 91472015-02-11 Jakub Jelinek <jakub@redhat.com> 9148 9149 PR target/61925 9150 * config/i386/i386.c (ix86_reset_to_default_globals): Removed. 9151 (ix86_reset_previous_fndecl): Restore it here, unconditionally. 9152 (ix86_set_current_function): Rewritten. 9153 (ix86_add_new_builtins): Temporarily clear current_target_pragma 9154 when creating builtin fndecls. 9155 91562015-02-10 Jan Hubicka <hubicka@ucw.cz> 9157 9158 PR ipa/65005 9159 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static 9160 function. 9161 * symtab.c (symtab_node::verify_base): Remove check that non-definitions 9162 have no comdat group. 9163 * lto-cgraph.c (lto_output_node): Always output thunk and alias info. 9164 (lto_output_varpool_node): Always output alias info. 9165 (output_refs): Output refs of boundary aliases, too. 9166 (compute_ltrans_boundary): Add alias and thunk target into boundaries. 9167 (output_symtab): Output call eges in thunks in boundary. 9168 (get_alias_symbol): Remove. 9169 (input_node, input_varpool_node): Do not special case weakrefs. 9170 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove 9171 alias and thunks targets in the boundary; do not take removed symbols 9172 from their comdat groups. 9173 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks. 9174 (cgraph_node::global_info): Remove. 9175 (cgraph_node::rtl_info): Look through aliases and thunks. 9176 * cgrpah.h (global_info): Remove. 9177 (non_local_p): Remove. 9178 91792015-02-10 David Wohlferd <dw@LimeGreenSocks.com> 9180 Sandra Loosemore <sandra@codesourcery.com> 9181 9182 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references 9183 to inline asm. List dialects in proper order. 9184 91852015-02-10 David Wohlferd <dw@LimeGreenSocks.com> 9186 Sandra Loosemore <sandra@codesourcery.com> 9187 9188 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error. 9189 91902015-02-10 David Wohlferd <dw@LimeGreenSocks.com> 9191 9192 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly 9193 modified) reference to Solaris. 9194 91952015-02-10 Sandra Loosemore <sandra@codesourcery.com> 9196 9197 * doc/extend.texi (Extended Asm): Fix typos. 9198 91992015-02-10 Jakub Jelinek <jakub@redhat.com> 9200 9201 PR sanitizer/65004 9202 * ubsan.c (ubsan_expand_vptr_ifn): Always return true. 9203 92042015-02-10 Oleg Endo <olegendo@gcc.gnu.org> 9205 9206 PR target/64661 9207 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT, 9208 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS, 9209 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses. 9210 * config/sh/constraints.md (Ara, Add): New constraints. 9211 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New 9212 predicates. 9213 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use 9214 atomic_mem_operand_0. Don't use force_reg on the memory address. 9215 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and 9216 Sra constraint. Convert to insn_and_split. Add workaround for 9217 PR 64974. 9218 (atomic_compare_and_swap<mode>_hard): Copy to 9219 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split. 9220 Use atomic_mem_operand_0 predicate. 9221 (atomic_compare_and_swap<mode>_soft_gusa, 9222 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and 9223 AraAdd constraints. 9224 (atomic_compare_and_swap<mode>_soft_tcb, 9225 atomic_compare_and_swap<mode>_soft_imask, 9226 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use 9227 atomic_mem_operand_0 predicate and SraSdd constraints. 9228 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra 9229 constraint. 9230 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1. 9231 Convert to insn_and_split. Use atomic_mem_operand_0 predicate. 9232 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>, 9233 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use 9234 force_reg on the memory address. 9235 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard, 9236 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard, 9237 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use 9238 atomic_mem_operand_1 predicate and Sra constraint. 9239 (atomic_fetch_<fetchop_name><mode>_hard): Copy to 9240 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split. 9241 Use atomic_mem_operand_1 predicate. 9242 (atomic_<fetchop_name><mode>_hard): Copy to 9243 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split. 9244 Use atomic_mem_operand_1 predicate. 9245 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1. 9246 Convert to insn_and_split. Use atomic_mem_operand_1 predicate. 9247 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to 9248 insn_and_split. Use atomic_mem_operand_1 predicate. 9249 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to 9250 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split. 9251 Use atomic_mem_operand_1 predicate. 9252 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1. 9253 Convert to insn_and_split. Use atomic_mem_operand_1 predicate. 9254 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems 9255 in generated insn with original mem operand before emitting the insn. 9256 (atomic_fetch_<fetchop_name><mode>_soft_gusa, 9257 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa, 9258 atomic_<fetchop_name>_fetch<mode>_soft_gusa, 9259 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa): 9260 Use atomic_mem_operand_1 predicate and AraAdd constraints. 9261 (atomic_fetch_<fetchop_name><mode>_soft_tcb, 9262 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb, 9263 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask, 9264 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb, 9265 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask, 9266 atomic_<fetchop_name>_fetch<mode>_soft_tcb, 9267 atomic_not_fetch<mode>_soft_tcb, 9268 atomic_<fetchop_name>_fetch<mode>_soft_imask, 9269 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>, 9270 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask): 9271 Use atomic_mem_operand_1 predicate and SraSdd constraints. 9272 92732015-02-10 Uros Bizjak <ubizjak@gmail.com> 9274 9275 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2 9276 and 3 earlyclobber operands. 9277 92782015-02-10 Jan Hubicka <hubicka@ucw.cz> 9279 9280 * common.opt (fstack-reuse): Mark as optimization. 9281 92822015-02-10 Jan Hubicka <hubicka@ucw.cz> 9283 9284 PR ipa/64982 9285 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks. 9286 92872015-02-10 Trevor Saunders <tsaunders@mozilla.com> 9288 9289 PR tree-optimization/64326 9290 * cfghooks.c (make_forwarder_block): Cap frequency of created block. 9291 92922015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de> 9293 9294 PR gcov-profile/61889 9295 * gcov-tool.c: Remove wrong #if !defined(_WIN32) 9296 92972015-02-10 Richard Biener <rguenther@suse.de> 9298 9299 PR tree-optimization/64995 9300 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the 9301 value we use is final. 9302 (visit_reference_op_store): Always valueize op. 9303 (visit_use): Properly valueize vuses. 9304 93052015-02-10 Richard Biener <rguenther@suse.de> 9306 9307 PR tree-optimization/64909 9308 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly 9309 pass a scalar-stmt count estimate to the cost model. 9310 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise. 9311 93122015-02-10 Alexander Monakov <amonakov@ispras.ru> 9313 9314 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is 9315 enabled by default together with var-tracking. 9316 93172015-02-10 Nick Clifton <nickc@redhat.com> 9318 9319 * config/rl78/rl78.c: Remove DIV attribute code accidentally 9320 included in previous rl78 commit. 9321 93222015-02-10 Richard Biener <rguenther@suse.de> 9323 9324 * tree-streamer.h (streamer_read_tree_bitfields): Adjust. 9325 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not 9326 return the bitpack. 9327 93282015-02-09 Trevor Saunders <tsaunders@mozilla.com> 9329 9330 PR gcov-profile/61889 9331 * config.in: regenerate. 9332 * configure.in: Likewise. 9333 * configure.ac: Check for ftw.h. 9334 * gcov-tool.c: Check for ftw.h before using nftw. 9335 93362015-02-09 Trevor Saunders <tsaunders@mozilla.com> 9337 9338 PR lto/64076 9339 * ipa-visibility.c (update_visibility_by_resolution_info): Only 9340 assert when not in lto mode. 9341 93422015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn> 9343 9344 * ira-color.c (setup_left_conflict_sizes_p): Simplify 9345 initialization/assignment of conflict_size. 9346 93472015-02-09 Jan Hubicka <hubicka@ucw.cz> 9348 9349 PR ipa/64978 9350 * ipa-cp.c (gather_caller_stats): Skip thunks. 9351 (propagate_constants_topo): Skip aliases. 9352 93532015-02-09 Kaz Kojima <kkojima@gcc.gnu.org> 9354 9355 PR target/64761 9356 * config/sh/sh.c (sh_option_override): Don't change 9357 -freorder-blocks-and-partition to -freorder-blocks even when 9358 unwinding is enabled. 9359 (sh_can_follow_jump): Return false if the followee jump is 9360 a crossing jump when -freorder-blocks-and-partition is specified. 9361 * config/sh/sh.md (*jump_compact_crossing): New insn. 9362 93632015-02-09 Joern Rennecke <joern.rennecke@embecosm.com> 9364 Kaz Kojima <kkojima@gcc.gnu.org> 9365 9366 PR target/64761 9367 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare. 9368 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine. 9369 (sh_can_redirect_branch): Rename to ... 9370 (sh_can_follow_jump): ... this. Constify argument types. 9371 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define. 9372 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation. 9373 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump. 9374 * doc/tm.texi: Regenerate. 9375 93762015-02-09 Jakub Jelinek <jakub@redhat.com> 9377 9378 PR sanitizer/64981 9379 * builtins.c (expand_builtin): Call targetm.expand_builtin 9380 for BUILT_IN_MD builtins regardless of asan_intercepted_p. 9381 93822015-02-08 Jan Hubicka <hubicka@ucw.cz> 9383 9384 PR ipa/61548 9385 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS. 9386 93872015-02-08 Jan Hubicka <hubicka@ucw.cz> 9388 9389 PR ipa/63566 9390 * ipa-icf.c (set_local): New function. 9391 (sem_function::merge): Use it. 9392 93932015-02-08 Jan Hubicka <hubicka@ucw.cz> 9394 9395 * ipa-devirt.c (odr_types_equivalent_p): Fix formating. 9396 (add_type_duplicate): Fix comparison of BINFOs. 9397 93982015-02-08 Jan Hubicka <hubicka@ucw.cz> 9399 9400 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE 9401 on getting VOID pointer. 9402 94032015-02-09 Jakub Jelinek <jakub@redhat.com> 9404 9405 PR target/64979 9406 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for 9407 va_list escapes. 9408 94092015-02-09 Richard Biener <rguenther@suse.de> 9410 9411 * genmatch.c (replace_id): Copy expr_type. 9412 94132015-02-09 Richard Biener <rguenther@suse.de> 9414 9415 * tree-streamer.h (streamer_pack_tree_bitfields): Remove. 9416 (streamer_write_tree_bitfields): Declare. 9417 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline, 9418 properly unpack padding. 9419 (unpack_value_fields): Inline ... 9420 (streamer_read_tree_bitfields): ... here. 9421 * tree-streamer-out.c (pack_ts_base_value_fields): Inline 9422 and properly add padding bits. 9423 (streamer_pack_tree_bitfields): Fold into ... 9424 (streamer_write_tree_bitfields): ... this new function, 9425 exposing the bitpack object. 9426 * lto-streamer-out.c (lto_write_tree_1): Call 9427 streamer_write_tree_bitfields. 9428 94292015-02-09 Richard Biener <rguenther@suse.de> 9430 9431 PR tree-optimization/54000 9432 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h. 9433 (struct ivopts_data): Add loop_loc member. 9434 (tree_ssa_iv_optimize_loop): Dump loop location. 9435 (create_new_ivs): Likewise, also dump number of IVs generated. 9436 94372015-02-09 Martin Liska <mliska@suse.cz> 9438 9439 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks 9440 just if not yet registered. 9441 (ipa_icf_generate_summary): Register callgraph hooks. 9442 94432015-02-08 Andrew Pinski <apinski@cavium.com> 9444 9445 * config/aarch64/aarch64.c (gty_dummy): Delete. 9446 94472015-02-08 Jan Hubicka <hubicka@ucw.cz> 9448 9449 PR ipa/63566 9450 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases. 9451 (cgraph_node::local_p): Remove thunk related FIXME. 9452 94532015-02-08 Jan Hubicka <hubicka@ucw.cz> 9454 9455 PR ipa/63566 9456 * i386.c (ix86_function_regparm): Look through aliases to see if callee 9457 is local and optimized. 9458 (ix86_function_sseregparm): Likewise; also use target's SSE math 9459 settings; error out instead of silently generating wrong code 9460 on mismatches. 9461 (init_cumulative_args): Look through aliases. 9462 94632015-02-08 Jan Hubicka <hubicka@ucw.cz> 9464 9465 PR ipa/63566 9466 * ipa-split.c (execute_split_functions): Split if function has aliases. 9467 94682015-02-08 Jan Hubicka <hubicka@ucw.cz> 9469 9470 PR ipa/63566 9471 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is 9472 aliases before trying to expand it. 9473 (cgraph_node::expand_thunk): Fix formating. 9474 94752015-02-07 Sandra Loosemore <sandra@codesourcery.com> 9476 9477 * doc/extend.texi (Function Attributes [naked]): Copy-edit. 9478 (Using Assembly Language with C): Expand introduction. 9479 (Basic Asm): Copy-edit. Add more information about uses of 9480 basic asm. 9481 (Extended Asm): Copy-edit. Document new escape syntax and 9482 %l[label] syntax. 9483 (Global Reg Vars): Copy-edit. 9484 (Local Reg Vars): Likewise. 9485 94862015-02-06 David Edelsohn <dje.gcc@gmail.com> 9487 9488 PR debug/2714 9489 PR bootstrap/64256 9490 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384. 9491 (DBX_CONTIN_CHAR): Define. 9492 94932015-02-06 Sebastian Pop <s.pop@samsung.com> 9494 Brian Rzycki <b.rzycki@samsung.com> 9495 9496 PR tree-optimization/64878 9497 * tree-ssa-threadedge.c: Include tree-ssa-loop.h. 9498 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi. 9499 Stop recursion at loop phi nodes after having visited a loop phi node. 9500 95012015-02-06 Jakub Jelinek <jakub@redhat.com> 9502 9503 * toplev.c (process_options): Change flag_ipa_ra before creating 9504 optimization_{default,current}_node. 9505 9506 PR ipa/64896 9507 * cgraphunit.c (cgraph_node::expand_thunk): If 9508 restype is not is_gimple_reg_type nor the thunk_fndecl 9509 returns aggregate_value_p, set restmp to a temporary variable 9510 instead of resdecl. 9511 95122015-02-06 Vladimir Makarov <vmakarov@redhat.com> 9513 9514 * lra.c (lra_emit_add): Fix a typo in using disp instead of base. 9515 95162015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com> 9517 9518 PR target/64205 9519 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not 9520 add a general secondary reload handler for SDmode, unless we have 9521 both read/write support for SDmode. 9522 95232015-02-06 Jakub Jelinek <jakub@redhat.com> 9524 9525 PR middle-end/64937 9526 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags): 9527 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT 9528 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't 9529 1 before, push it to abstract_vec. 9530 (dwarf2out_abstract_function): Adjust caller. Don't call 9531 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or 9532 DECL_ABSTRACT_P flags for all abstract_vec elts. 9533 95342015-02-06 Renlin Li <renlin.li@arm.com> 9535 9536 * tree-ssa-forwprop.c (execute): Keep location info while rewrite 9537 complex gimple. 9538 * tree-ssa.c (execute_update_addresses_taken): Likewise. 9539 95402015-02-06 Jeff Law <law@redhat.com> 9541 9542 PR target/64889 9543 * config/h8300/h8300.c (push): New argument "in_prologue". 9544 Pass "in_prologue" along to "F". 9545 (h8300_push_pop): Corresponding changes. 9546 (h8300_expand_prologue): Likewise. 9547 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P. 9548 95492015-02-06 Jakub Jelinek <jakub@redhat.com> 9550 9551 PR rtl-optimization/64957 9552 PR debug/64817 9553 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for 9554 IOR rather than for AND. 9555 95562015-02-06 Eric Botcazou <ebotcazou@adacore.com> 9557 9558 PR target/62631 9559 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs 9560 of shift-add and (add + shift) operations. Rename local variable. 9561 95622015-02-05 Jeff Law <law@redhat.com> 9563 9564 PR target/17306 9565 * config/h8300/constraints.md (U): Correctly dectect 9566 "eightbit_data" memory addresses. 9567 * config/h8300/h8300.c (eightbit_constant_address_p): Also 9568 handle (const (plus (symbol_ref (x)))) where x is declared 9569 as an 8-bit data memory address. 9570 * config/h8300/h8300.md (call, call_value): Correctly detect 9571 "funcvec" functions. 9572 9573 PR target/43264 9574 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by 9575 24 to 28 bits for the H8/300. 9576 95772015-02-06 Alan Modra <amodra@gmail.com> 9578 9579 PR target/64876 9580 * config/rs6000/rs6000.c (chain_already_loaded): New function. 9581 (rs6000_call_aix): Use it. 9582 95832015-02-05 Jan Hubicka <hubicka@ucw.cz> 9584 9585 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds 9586 check. 9587 95882015-02-05 Joern Rennecke <joern.rennecke@embecosm.com> 9589 9590 * config/h8300/constraints.md ("U" constraint): Use strict 9591 variant of REG_OK_FOR_BASE_P after reload has started. 9592 95932015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com> 9594 9595 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition, 9596 define to zero if !TARGET_NEON. 9597 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition. 9598 95992015-02-04 Jan Hubicka <hubicka@ucw.cz> 9600 Trevor Saunders <tsaunders@mozilla.com> 9601 9602 PR ipa/61548 9603 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it. 9604 96052015-02-04 Jan Hubicka <hubicka@ucw.cz> 9606 9607 PR ipa/61548 9608 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue 9609 when removing varpool nodes. 9610 96112015-02-04 Jan Hubicka <hubicka@ucw.cz> 9612 9613 PR ipa/61548 9614 * varpool.c (varpool_node::remove): Fix order of variables. 9615 96162015-02-04 Jan Hubicka <hubicka@ucw.cz> 9617 9618 PR ipa/64686 9619 * ipa-inline.c (inline_small_functions): Fix ordering issue between 9620 speculation resolution and key updates. 9621 96222015-02-04 Jan Hubicka <hubicka@ucw.cz> 9623 9624 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful 9625 about not letting any speculative edges unupdated. 9626 96272015-02-04 Jan Hubicka <hubicka@ucw.cz> 9628 9629 PR gcov/64123 9630 * gcov-io.c (gcov_var): Export. 9631 96322015-02-04 Jan Hubicka <hubicka@ucw.cz> 9633 9634 PR middle-end/64922 9635 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update 9636 edges that become speculative. 9637 96382015-02-04 Jakub Jelinek <jakub@redhat.com> 9639 9640 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03 9641 or DW_LANG_Fortran08. 9642 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or 9643 DW_LANG_Fortran08. 9644 (gen_compile_unit_die): Handle "GNU Fortran2003" and 9645 "GNU Fortran2008" language strings. 9646 * dbxout.c (get_lang_number): Use lang_GNU_Fortran. 9647 * langhooks.h (lang_GNU_Fortran): New prototype. 9648 * langhooks.c (lang_GNU_Fortran): New function. 9649 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use 9650 lang_GNU_Fortran. 9651 96522015-02-04 Eric Botcazou <ebotcazou@adacore.com> 9653 9654 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error. 9655 (RTX_OK_FOR_OLO10_P): Likewise. 9656 96572015-02-04 Eric Botcazou <ebotcazou@adacore.com> 9658 9659 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset. 9660 96612015-02-04 Jan Hubicka <hubicka@ucw.cz> 9662 9663 PR middle-end/64922 9664 * gimple.c: Include gimple-ssa.h. 9665 (maybe_remove_unused_call_args): New function. 9666 * gimple.h (maybe_remove_unused_call_args): Declare. 9667 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it. 9668 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise. 9669 * gimple-fold.c (gimple_fold_call): Likewise. 9670 96712015-02-04 H.J. Lu <hongjiu.lu@intel.com> 9672 9673 PR rtl-optimization/64905 9674 * lra-eliminations.c (setup_can_eliminate): Clear hard frame 9675 pointer alignment if it isn't needed. 9676 96772015-02-04 Matthew Wahab <matthew.wahab@arm.com> 9678 9679 * config/aarch64/aarch64-cores.def: Add cortex-a72 and 9680 cortex-a72.cortex-a53. 9681 * config/aarch64/aarch64-tune.md: Regenerate. 9682 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72". 9683 96842015-02-04 Nick Clifton <nickc@redhat.com> 9685 9686 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs 9687 inside a MEM. 9688 96892015-02-04 Jakub Jelinek <jakub@redhat.com> 9690 9691 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined. 9692 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine. 9693 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead 9694 of DEF_BUILTIN. 9695 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT, 9696 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use 9697 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN. 9698 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK, 9699 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK, 9700 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use 9701 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN. 9702 * tree-core.h (enum built_in_function): In between 9703 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values 9704 for builtins that use DEF_BUILTIN_CHKP macro. 9705 97062015-02-04 Alexandre Oliva <aoliva@redhat.com> 9707 9708 PR debug/64817 9709 * cfgexpand.c (expand_debug_expr): Compute unsignedp from 9710 operands for tcc_comparison exprs. Fix typos. 9711 9712 PR debug/64817 9713 * simplify-rtx.c (simplify_binary_operation_1): Simplify one 9714 of two XORs that have an intervening AND or IOR. 9715 9716 PR debug/64817 9717 * simplify-rtx.c (simplify_binary_operation_1): Rewrite 9718 simplification of XOR of AND to not allocate new rtx before 9719 committing to a simplification. 9720 97212015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 9722 9723 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of 9724 manual swaps in all peepholes. 9725 97262015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 9727 9728 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead 9729 of manual swapping implementation. 9730 (aarch64_expand_vec_perm_const_1): Likewise. 9731 97322015-02-04 James Greenhalgh <james.greenhalgh@arm.com> 9733 9734 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it. 9735 (generic_addrcost_table): Remove NAMED_PARAM. 9736 (cortexa57_addrcost_table): Likewise. 9737 (xgene1_addrcost_table): Likewise. 9738 (generic_regmove_table): Likewise. 9739 (cortexa53_regmove_table): Likewise. 9740 (xgene1_regmove_table): Likewise. 9741 (generic_vector_table): Likewise. 9742 (cortexa57_vector_table): Likewise. 9743 (xgene1_vector_table): Likewise. 9744 (generic_tunings): Likewise. 9745 (cortexa53_tunings): Likewise. 9746 (cortexa57_tunings): Likewise. 9747 (xgene1_tunings): Likewise. 9748 97492015-02-04 Matthew Wahab <matthew.wahab@arm.com> 9750 9751 * config/arm/arm-cores.def: Add cortex-a72 and 9752 cortex-a72.cortex-a53. 9753 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise. 9754 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise. 9755 * config/arm/arm-tune.md: Regenerate. 9756 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and 9757 "cortex-a72.cortex-a53". 9758 * doc/invoke.texi (ARM Options/-mtune): Likewise. 9759 97602015-02-04 Nick Clifton <nickc@redhat.com> 9761 9762 PR target/64408 9763 * config/fr30/predicates.md (di_operand): Add SUBREG to the list 9764 of accepted codes. 9765 (nonimmediate_di_operand): Likewise. 9766 9767 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more 9768 prefixes of known F5 using MSP430 MCUs. 9769 97702015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 9771 9772 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF. 9773 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf 9774 instead of __builtin_sqrt. 9775 97762015-02-04 Ilya Enkovich <ilya.enkovich@intel.com> 9777 9778 * varasm.c (do_assemble_alias): Follow transparent alias 9779 chain for target. 9780 (default_assemble_visibility): Follow transparent alias 9781 chain for decl name. 9782 97832015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com> 9784 9785 PR middle-end/62103 9786 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION 9787 to compute size of referenced value in the constant case. 9788 97892015-02-03 Jakub Jelinek <jakub@redhat.com> 9790 9791 PR rtl-optimization/64756 9792 * cse.c (invalidate_dest): New function. 9793 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and 9794 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record, 9795 invalidate and do not record it. 9796 97972015-02-03 Oleg Endo <olegendo@gcc.gnu.org> 9798 9799 PR target/64660 9800 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard, 9801 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb, 9802 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard, 9803 atomic_nand<mode>_soft_tcb): New insns. 9804 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split. 9805 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused. 9806 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split. 9807 Split into atomic_not_fetchsi_hard if operands[0] is unused. 9808 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split. 9809 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused. 9810 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into 9811 atomic_not<mode>_hard if operands[0] is unused. 9812 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to 9813 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa 9814 if operands[0] is unused. 9815 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split 9816 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused. 9817 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split. 9818 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is 9819 unused. 9820 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split 9821 into atomic_not<mode>_soft_tcb if operands[0] is unused. 9822 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to 9823 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask 9824 if operands[0] is unused. 9825 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split 9826 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused. 9827 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into 9828 atomic_nand_fetchsi_hard if operands[0] is unused. 9829 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into 9830 atomic_nand<mode>_hard if operands[0] is unused. 9831 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split 9832 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused. 9833 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split 9834 into atomic_nand<mode>_soft_tcb if operands[0] is unused. 9835 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split 9836 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused. 9837 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split. 9838 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused. 9839 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into 9840 atomic_not<mode>_hard if operands[0] is unused. 9841 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split. 9842 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is 9843 unused. 9844 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split 9845 into atomic_not<mode>_soft_tcb if operands[0] is unused. 9846 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into 9847 atomic_nand<mode>_hard if operands[0] is unused. 9848 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split 9849 into atomic_nand<mode>_soft_tcb if operands[0] is unused. 9850 98512015-02-03 David Malcolm <dmalcolm@redhat.com> 9852 9853 PR jit/64810 9854 * Makefile.in (GCC_OBJS): Add gcc-main.o. 9855 * gcc-main.c: New file, containing "main" taken from gcc.c. 9856 * gcc.c (do_self_spec): Free decoded_options. 9857 (class driver): Move declaration to gcc.h. 9858 (main): Move declaration and implementation to new file 9859 gcc-main.c. 9860 (driver_get_configure_time_options): New function. 9861 * gcc.h (class driver): Move this declaration here, from 9862 gcc.c. 9863 (driver_get_configure_time_options): New declaration. 9864 98652015-02-03 Jan Hubicka <hubicka@ucw.cz> 9866 9867 * ipa-inline-analysis.c (simple_edge_hints): Fix check for 9868 cross-module inlining. 9869 * cgraph.h (cgraph_node): Add flag merged. 9870 * ipa-icf.c (sem_function::merge): Maintain it. 9871 98722015-02-03 Richard Sandiford <richard.sandiford@arm.com> 9873 9874 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P 9875 instead of OBJECT_P. 9876 98772015-02-03 Eric Botcazou <ebotcazou@adacore.com> 9878 9879 PR target/62631 9880 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS. 9881 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL. 9882 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on 9883 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set. 9884 98852015-02-03 Jakub Jelinek <jakub@redhat.com> 9886 9887 PR other/63504 9888 * combine.c (reg_n_sets_max): New variable. 9889 (can_change_dest_mode, reg_nonzero_bits_for_combine, 9890 reg_num_sign_bit_copies_for_combine, get_last_value_validate, 9891 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max. 9892 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max. 9893 (rest_of_handle_combine): Initialize reg_n_sets_max. 9894 98952015-02-02 Jan Hubicka <hubicka@ucw.cz> 9896 9897 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined; 9898 if some always_inline was inlined, apply changes before inlining 9899 heuristically. 9900 99012015-02-02 David Malcolm <dmalcolm@redhat.com> 9902 9903 PR jit/64810 9904 * config/arm/arm.c (arm_option_override): Set 9905 arm_selected_arch/cpu/tune to NULL on entry. 9906 99072015-02-02 Tejas Belagod <tejas.belagod@arm.com> 9908 Andrew Pinski <pinskia@gcc.gnu.org> 9909 Jakub Jelinek <jakub@gcc.gnu.org> 9910 9911 PR target/64231 9912 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large 9913 integer typing for small model. Use IN_RANGE. 9914 99152015-02-02 Richard Biener <rguenther@suse.de> 9916 9917 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs. 9918 * tree-vrp.c (vrp_valueize_1): Likewise. 9919 99202015-02-02 Alan Modra <amodra@gmail.com> 9921 9922 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather 9923 than mem for toc_restore. 9924 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define. 9925 (call_indirect_aix, call_value_indirect_aix): Adjust to suit. 9926 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise. 9927 99282015-02-01 David Edelsohn <dje.gcc@gmail.com> 9929 9930 PR target/64047 9931 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle 9932 explicit default options. 9933 99342015-02-01 Jan Hubicka <hubicka@ucw.cz> 9935 9936 PR ipa/64872 9937 * ipa-utils.c (ipa_merge_profiles): Add release argument. 9938 * ipa-icf.c (sem_function::merge): Do not release body when merging. 9939 * ipa-utils.h (ipa_merge_profiles): Update prototype. 9940 99412015-02-01 Jakub Jelinek <jakub@redhat.com> 9942 9943 PR debug/64817 9944 * cfgexpand.c (deep_ter_debug_map): New variable. 9945 (avoid_deep_ter_for_debug): New function. 9946 (expand_debug_expr): If TERed SSA_NAME is in 9947 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL 9948 instead of trying to expand SSA_NAME's def stmt. 9949 (expand_debug_locations): When expanding debug bind 9950 of a DEBUG_EXPR_DECL to corresponding SSA_NAME, 9951 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's 9952 value. 9953 (pass_expand::execute): Call avoid_deep_ter_for_debug on 9954 all debug bind stmts. Delete deep_ter_debug_map after 9955 expand_debug_location if non-NULL and clear it. 9956 99572015-02-01 Oleg Endo <olegendo@gcc.gnu.org> 9958 9959 PR target/64851 9960 * config/sh/sync.md (atomic_fetch_notsi_hard, 9961 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa, 9962 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask, 9963 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard, 9964 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb, 9965 atomic_not_fetch<mode>_soft_imask): New insns. 9966 99672015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> 9968 9969 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro. 9970 (rank_for_schedule_debug): Split from ... 9971 (rank_for_schedule): ... this. 9972 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs. 9973 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order. 9974 99752015-01-31 Sandra Loosemore <sandra@codesourcery.com> 9976 9977 * doc/md.texi (Machine Constraints): Alphabetize table by target. 9978 * doc/extend.texi (x86 Variable Attributes): Move section to 9979 correct alphabetization after renaming. 9980 (x86 Type Attributes): Likewise. 9981 (Target Builtins): Re-alphabetize menu. 9982 (x86 Built-in Functions): Move section to correct alphabetization 9983 after renaming. 9984 (x86 transactional memory intrinsics): Likewise. 9985 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options 9986 and x86 Windows Options in table and menu. 9987 (x86 Options): Move section to correct alphabetization after 9988 renaming. 9989 (x86 Windows Options): Likewise. 9990 99912015-01-31 Sandra Loosemore <sandra@codesourcery.com> 9992 9993 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the 9994 preferred names of the architecture and its 32- and 64-bit 9995 variants. 9996 * doc/invoke.texi: Likewise. 9997 * doc/md.texi: Likewise. 9998 99992015-01-31 Uros Bizjak <ubizjak@gmail.com> 10000 10001 PR target/64882 10002 * config/i386/predicates.md (address_no_seg_operand): Reject 10003 non-CONST_INT_P operands in invalid mode. 10004 100052015-01-31 Uros Bizjak <ubizjak@gmail.com> 10006 10007 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of 10008 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>. 10009 * config/i386/predicates.md (address_no_seg_operand): Call 10010 address_operand with VOIDmode. 10011 (vsib_address_operand): Ditto. 10012 (address_mpx_no_base_operand): Ditto. 10013 (address_mpx_no_index_operand): Ditto. 10014 100152015-01-30 Vladimir Makarov <vmakarov@redhat.com> 10016 10017 PR target/64688 10018 * lra-constraints.c (original_subreg_reg_mode): New. 10019 (simplify_operand_subreg): Try to simplify subreg of const. Use 10020 original_subreg_reg_mode for it. 10021 (swap_operands): Update original_subreg_reg_mode. 10022 (curr_insn_transform): Set up original_subreg_reg_mode. 10023 100242015-01-30 Vladimir Makarov <vmakarov@redhat.com> 10025 10026 PR target/64617 10027 * lra-constraints.c (prohibited_class_reg_set_mode_p): New 10028 function. 10029 (process_alt_operands): Use it. 10030 (curr_insn_transform): Check the optional reload pseudo class is 10031 ok for the mode. 10032 100332015-01-30 Joseph Myers <joseph@codesourcery.com> 10034 10035 * diagnostic.c (fatal_error (const char *, ...)): Remove function. 10036 * diagnostic-core.h (fatal_error (const char *, ...)): Remove 10037 prototype. 10038 * toplev.h (init_asm_output): Update comment on use of 10039 UNKNOWN_LOCATION with fatal_error. 10040 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c, 10041 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h, 10042 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c, 10043 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c, 10044 config/nvptx/mkoffload.c, config/nvptx/nvptx.h, 10045 config/rs6000/host-darwin.c, config/rs6000/rs6000.c, 10046 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c, 10047 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c, 10048 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c, 10049 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c, 10050 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of 10051 fatal_error changed to pass input_location as first argument. 10052 100532015-01-30 Martin Liska <mliska@suse.cz> 10054 10055 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006 10056 in #pragma GCC diagnostic guards. 10057 100582015-01-30 Richard Biener <rguenther@suse.de> 10059 10060 PR tree-optimization/64829 10061 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do 10062 not add a widening conversion pattern but hand off extra 10063 widenings to callers. 10064 (vect_recog_widen_mult_pattern): Handle extra widening produced 10065 by vect_handle_widen_op_by_const. 10066 (vect_recog_widen_shift_pattern): Likewise. 10067 (vect_pattern_recog_1): Remove excess vertical space in dumping. 10068 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise. 10069 (vect_init_vector_1): Likewise. 10070 (vect_get_vec_def_for_operand): Likewise. 10071 (vect_finish_stmt_generation): Likewise. 10072 (vectorizable_load): Likewise. 10073 (vect_analyze_stmt): Likewise. 10074 (vect_is_simple_use): Likewise. 10075 100762015-01-29 Jeff Law <law@redhat.com> 10077 10078 * combine.c (try_combine): Fix typo in comment. 10079 100802015-01-29 Segher Boessenkool <segher@kernel.crashing.org> 10081 10082 PR target/64580 10083 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order. 10084 (rs6000_stack_info): Add assert. 10085 (rs6000_output_savres_externs): New function, split off from... 10086 (rs6000_output_function_prologue): ... here. Do not call it for 10087 thunks. 10088 100892015-01-29 Jeff Law <law@redhat.com> 10090 10091 PR target/15184 10092 * combine.c (try_combine): If I0 is a memory load and I3 a store 10093 to a related address, increase the "goodness" of doing a 4-insn 10094 combination with I0-I3. 10095 (make_field_assignment): Handle SUBREGs in the ior+and case. 10096 100972015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com> 10098 10099 PR tree-optimization/64746 10100 * tree-if-conv.c (mask_exists): New function. 10101 (predicate_mem_writes): Save created mask with given size for further 10102 use. 10103 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it. 10104 (ifcvt_repair_bool_pattern): Collect all statements that are root 10105 of bool pattern and use iterative algorithm to remove multiple uses 10106 of predicates, display number of required iterations. 10107 101082015-01-29 Richard Biener <rguenther@suse.de> 10109 10110 PR tree-optimization/64853 10111 * tree-vrp.c (vrp_valueize_1): Do not return anything if the 10112 stmt will get simulated again. 10113 * tree-ssa-ccp.c (valueize_op_1): Likewise. 10114 101152015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 10116 10117 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of 10118 return_in_pc. Remove redundant assignments. 10119 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc. 10120 (arm_expand_epilogue): Don't compare boolean with true in if condition. 10121 101222015-01-29 Uros Bizjak <ubizjak@gmail.com> 10123 10124 * config/i386/i386.c (ix86_mode_after): Make static. 10125 101262015-01-29 Richard Biener <rguenther@suse.de> 10127 10128 PR tree-optimization/64844 10129 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always 10130 dump cost model analysis. 10131 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): 10132 Do not register adjusted load/store costs here. 10133 101342015-01-29 Ilya Enkovich <ilya.enkovich@intel.com> 10135 Uros Bizjak <ubizjak@gmail.com> 10136 10137 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New. 10138 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by 10139 using x86_use_pseudo_pic_reg. 10140 * config/i386/i386.c (ix86_conditional_register_usage): Remove 10141 support for fixed PIC register. 10142 (ix86_use_pseudo_pic_reg): Not static any more. 10143 101442015-01-29 Ilya Enkovich <ilya.enkovich@intel.com> 10145 10146 PR middle-end/64805 10147 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference 10148 to avoid error in cgraph node verification. 10149 101502015-01-29 Marek Polacek <polacek@redhat.com> 10151 10152 * doc/standards.texi: Reflect that the default for C is gnu11. 10153 101542015-01-29 Kaz Kojima <kkojima@gcc.gnu.org> 10155 10156 PR target/64761 10157 * reorg.c (switch_text_sections_between_p): New function. 10158 (relax_delay_slots): Call it when testing if the jump insn 10159 is removable. Use targetm.can_follow_jump when testing if 10160 the conditional branch can follow an unconditional jump. 10161 101622015-01-27 Caroline Tice <cmtice@google.com> 10163 10164 Committing VTV Cywin/Ming patch for Patrick Wollgast 10165 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o, 10166 if -fvtable-verify=preinit/std is used. 10167 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise. 10168 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise. 10169 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o, 10170 if -fvtable-verify=preinit/std is used. 10171 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise. 10172 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi, 10173 if -fvtable-verify=preinit/std is used. 10174 * config/i386/mingw-w64.h (LIB_SPEC): Likewise. 10175 * config/i386/mingw32.h (LIB_SPEC): Likewise. 10176 * varasm.c (assemble_variable): Add code to properly set the comdat 10177 section and name for the .vtable_map_vars section in case the 10178 target is PE or COFF. 10179 101802015-01-29 Jan Hubicka <hubicka@ucw.cz> 10181 10182 PR ipa/64801 10183 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter; 10184 make sane BB profile. 10185 (cgraph_node::expand_thunk): Make sane BB profile. 10186 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p. 10187 * cgraph.h (init_lowered_empty_function): Update prototype. 10188 * config/i386/i386.c (make_resolver_func): Update call. 10189 * predict.c (gate): Disable branch prediction pass if 10190 profile is already there. 10191 101922015-01-29 Jan Hubicka <hubicka@ucw.cz> 10193 10194 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical. 10195 * opth-gen.awk: Likewise. 10196 * common.opt: Mark flag_fp_contract_mode as Optimization. 10197 101982015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de> 10199 10200 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16. 10201 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16. 10202 102032015-01-28 Oleg Endo <olegendo@gcc.gnu.org> 10204 10205 PR target/64659 10206 * config/sh/predicates.md (atomic_arith_operand, 10207 atomic_logical_operand): Remove. 10208 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove. 10209 (atomic_arith_operand_0): New predicate. 10210 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values. 10211 Use atomic_arith_operand_0 for input values. 10212 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard, 10213 atomic_compare_and_swap<mode>_soft_gusa, 10214 atomic_compare_and_swap<mode>_soft_tcb, 10215 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and 10216 arith_reg_operand instead of register_operand. 10217 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use 10218 atomic_arith_operand_0 for newval input. 10219 (atomic_exchangesi_hard, atomic_exchange<mode>_hard, 10220 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb, 10221 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and 10222 arith_reg_operand instead of register_operand. 10223 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates. 10224 fetchop_predicate_1, fetchop_constraint_1_llcs, 10225 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb, 10226 fetchop_constraint_1_imask): New code iterator attributes. 10227 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of 10228 register_operand. Use fetchop_predicate_1. 10229 (atomic_fetch_<fetchop_name>si_hard, 10230 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of 10231 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs. 10232 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest 10233 and arith_reg_operand instead of register_operand. Use 10234 fetchop_predicate_1, fetchop_constraint_1_gusa. 10235 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest 10236 and arith_reg_operand instead of register_operand. Use 10237 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence 10238 to allow R0 usage. 10239 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest 10240 and arith_reg_operand instead of register_operand. Use 10241 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence 10242 to allow R0 usage. 10243 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of 10244 register_operand. Use atomic_logical_operand_1. 10245 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard, 10246 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and 10247 arith_reg_operand instead of register_operand. 10248 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask): 10249 Use arith_reg_dest and arith_reg_operand instead of register_operand. 10250 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage. 10251 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of 10252 register_operand. Use fetchop_predicate_1. 10253 (atomic_<fetchop_name>_fetchsi_hard, 10254 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and 10255 arith_reg_operand instead of register_operand. Use fetchop_predicate_1, 10256 fetchop_constraint_1_llcs. 10257 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and 10258 arith_reg_operand instead of register_operand. Use fetchop_predicate_1, 10259 fetchop_constraint_1_gusa. 10260 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and 10261 arith_reg_operand instead of register_operand. Use fetchop_predicate_1, 10262 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage. 10263 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and 10264 arith_reg_operand instead of register_operand. Use fetchop_predicate_1, 10265 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage. 10266 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of 10267 register_operand. Use atomic_logical_operand_1. 10268 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard, 10269 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and 10270 arith_reg_operand instead of register_operand. 10271 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and 10272 arith_reg_operand instead of register_operand. Use logical_operand 10273 and K08. Adjust asm sequence to allow R0 usage. 10274 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and 10275 arith_reg_operand instead of register_operand. Use logical_operand 10276 and K08. 10277 102782015-01-28 Jakub Jelinek <jakub@redhat.com> 10279 10280 PR other/63504 10281 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor): 10282 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>. 10283 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum 10284 only get_full_len HOST_WIDE_INTs from get_val () array rather than 10285 all bits in *val_wide. 10286 102872015-01-28 Jan Hubicka <hubicka@ucw.cz> 10288 10289 * varpool.c (tls_model_names): Fix names. 10290 (varpool_node::dump): Dump tls- prefix for tls models. 10291 102922015-01-28 Thomas Schwinge <thomas@codesourcery.com> 10293 Bernd Schmidt <bernds@codesourcery.com> 10294 Nathan Sidwell <nathan@codesourcery.com> 10295 10296 * config/nvptx/mkoffload.c: New file. 10297 * config/nvptx/t-nvptx: Add build rules for it. 10298 * config.gcc <nvptx-*> [$enable_as_accelerator = yes] 10299 (extra_programs): Add mkoffload. 10300 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New 10301 function. 10302 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it. 10303 103042015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com> 10305 10306 PR middle-end/64809 10307 * cfgexpand.c (reorder_operands): Skip debug gimples. 10308 103092015-01-28 Ilya Enkovich <ilya.enkovich@intel.com> 10310 10311 PR tree-optimization/64277 10312 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base 10313 range info when possible to refine estimation. 10314 103152015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com> 10316 10317 PR tree-optimization/64718 10318 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type 10319 be a 16bit unsigned integer when n->range is 16. 10320 (bswap_replace): Convert src to that type if necessary for all bswap 10321 sizes. Fix rotation right notation in nearby comment. Use bswap_type 10322 set in pass_optimize_bswap::execute (). 10323 103242015-01-28 James Greenhalgh <james.greenhalgh@arm.com> 10325 10326 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New. 10327 * config/aarch64/aarch64-simd-builtins.def (abs): Split by 10328 integer and floating point variants. 10329 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS. 10330 103312015-01-28 Robert Suchanek <robert.suchanek@imgtec.com> 10332 10333 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators 10334 for all vector modes. 10335 103362015-01-28 Jakub Jelinek <jakub@redhat.com> 10337 10338 PR bootstrap/64612 10339 * doc/sourcebuild.texi (comdat_group): Document. 10340 103412015-01-28 Terry Guo <terry.guo@arm.com> 10342 10343 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern. 10344 103452015-01-27 David Malcolm <dmalcolm@redhat.com> 10346 10347 * toplev.c (print_version): Add param "show_global_state", and 10348 only print GGC and plugin information if it is true. 10349 (init_asm_output): Pass in "true" for the new param when calling 10350 print_version. 10351 (process_options): Likewise. 10352 (toplev::main): Likewise. 10353 * toplev.h (print_version): Add new param to decl. 10354 103552015-01-27 Jan Hubicka <hubicka@ucw.cz> 10356 10357 PR ipa/60871 10358 PR ipa/64139 10359 * tree.c (lookup_binfo_at_offset): New function. 10360 (get_binfo_at_offset): Use it. 10361 103622015-01-27 Jan Hubicka <hubicka@ucw.cz> 10363 10364 PR ipa/64282 10365 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert 10366 on vtable being vtable. 10367 103682015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com> 10369 10370 * doc/extend.texi: s/390: Update documentation of hotpatch attribute. 10371 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of 10372 -mhotpatch= option. 10373 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and 10374 -mno-hotpatch options. Change syntax of -mhotpatch= option. 10375 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default): 10376 Renamed. 10377 (s390_hotpatch_trampoline_halfwords_max): Renamed. 10378 (s390_hotpatch_hw_max): New name. 10379 (s390_hotpatch_trampoline_halfwords): Renamed. 10380 (s390_hotpatch_hw_before_label): New name. 10381 (get_hotpatch_attribute): Removed. 10382 (s390_hotpatch_hw_after_label): New name. 10383 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch 10384 attribute. 10385 (s390_attribute_table): Ditto. 10386 (s390_function_num_hotpatch_trampoline_halfwords): Renamed. 10387 (s390_function_num_hotpatch_hw): New name. 10388 Remove special handling of inline functions and hotpatching. 10389 Return number of nops before and after the function label. 10390 (s390_can_inline_p): Removed. 10391 (s390_asm_output_function_label): Emit a configurable number of nops 10392 after the function label. 10393 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch. 10394 (TARGET_CAN_INLINE_P) Removed. 10395 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New. 10396 103972015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 10398 Jiong Wang <jiong.wang@arm.com> 10399 10400 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead 10401 of scratch reg. 10402 (cb<optab><mode>1): Likewise. 10403 * config/aarch64/iterators.md (bcond): New define_code_attr. 10404 104052015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 10406 10407 * config/s390/s390.c (s390_memory_move_cost): Increase costs for 10408 memory accesses. 10409 104102015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 10411 10412 * config/s390/s390.c (s390_register_move_cost): Increase costs for 10413 FPR->GPR moves. 10414 104152015-01-27 Richard Biener <rguenther@suse.de> 10416 10417 * tree-vrp.c (update_value_range): Intersect the range with 10418 old recorded SSA name range information. 10419 104202015-01-27 Nick Clifton <nickc@redhat.com> 10421 10422 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the 10423 BC, DE and HL registers directly, not via AX. 10424 When decrementing the stack pointer by a large amount, transfer SP 10425 into AX and perform the subtraction there. 10426 (rl78_expand_epilogue): Perform the inverse of the above 10427 enhancements. 10428 104292015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10430 10431 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove. 10432 104332015-01-27 Jakub Jelinek <jakub@redhat.com> 10434 Yury Gribov <y.gribov@samsung.com> 10435 10436 PR ubsan/64741 10437 * ubsan.c (ubsan_source_location): Refactor code. 10438 (ubsan_type_descriptor): Update type size. Refactor code. 10439 104402015-01-27 Richard Biener <rguenther@suse.de> 10441 10442 PR tree-optimization/56273 10443 PR tree-optimization/59124 10444 PR tree-optimization/64277 10445 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only 10446 from the first VRP pass. 10447 104482015-01-27 Jakub Jelinek <jakub@redhat.com> 10449 10450 PR ipa/64776 10451 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting, 10452 handle the first argument in the same loop as all the other arguments. 10453 10454 PR rtl-optimization/61058 10455 * jump.c (cleanup_barriers): Update basic block boundaries 10456 if BLOCK_FOR_INSN is non-NULL on PREV. 10457 104582015-01-27 Ilya Enkovich <ilya.enkovich@intel.com> 10459 10460 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of 10461 bounds narrowing, already instrumented calls and calls to 10462 not instrumentable functions. 10463 104642015-01-27 Jakub Jelinek <jakub@redhat.com> 10465 10466 PR tree-optimization/64807 10467 * wide-int.cc (wi::divmod_internal): Clear 10468 b_dividend[dividend_blocks_needed]. 10469 104702015-01-26 DJ Delorie <dj@redhat.com> 10471 10472 * config/rl78/rl78.c (move_elim_pass): Don't optimize away 10473 volatile memory references. 10474 104752015-01-26 Oleg Endo <olegendo@gcc.gnu.org> 10476 10477 PR target/49263 10478 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before 10479 remove_insn. 10480 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right 10481 shifts if it already fits into K08. 10482 104832015-01-26 Jakub Jelinek <jakub@redhat.com> 10484 10485 PR ipa/64730 10486 * ipa-inline.c (inline_small_functions): Print "unknown" even 10487 if edge->call_stmt is non-NULL, but has builtins or unknown 10488 location. 10489 10490 PR middle-end/64421 10491 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts 10492 with asterisk, skip the first character. 10493 104942015-01-26 H.J. Lu <hongjiu.lu@intel.com> 10495 10496 PR target/64806 10497 * config/i386/i386 (feature_priority): Revert the last P_POPCNT 10498 order change. 10499 105002015-01-26 Uros Bizjak <ubizjak@gmail.com> 10501 10502 PR target/64795 10503 * config/i386/i386.md (*movdi_internal): Also check operand 0 10504 to determine TYPE_LEA operand. 10505 (*movsi_internal): Ditto. 10506 105072015-01-26 Jakub Jelinek <jakub@redhat.com> 10508 10509 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add 10510 OPTION_MASK_QUAD_MEMORY_ATOMIC. 10511 105122015-01-26 Renlin Li <renlin.li@arm.com> 10513 10514 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct 10515 the comment. 10516 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit 10517 for higher part. 10518 105192015-01-26 Richard Biener <rguenther@suse.de> 10520 10521 PR middle-end/64764 10522 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle 10523 combining two BIT_AND_EXPR predicates. 10524 105252015-01-26 H.J. Lu <hongjiu.lu@intel.com> 10526 10527 PR bootstrap/64754 10528 * tree-ssa-structalias.c (new_var_info): Initialize ruid. 10529 105302015-01-26 Terry Guo <terry.guo@arm.com> 10531 10532 * config/arm/arm.c (arm_file_start): Update the assignment of 10533 Tag_ABI_HardFP_use. 10534 105352015-01-25 James Greenhalgh <james.greenhalgh@arm.com> 10536 10537 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57 10538 pipeline model. 10539 config/arm/arm.md: Include the new Cortex-A57 model. 10540 (generic_sched): Don't use generic_sched when tuning for 10541 Cortex-A57. 10542 105432015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org> 10544 Uros Bizjak <ubizjak@gmail.com> 10545 10546 * config/i386/i386.c (get_builtin_code_for_version): Add 10547 support for BMI and BMI2 multiversion functions. 10548 105492015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 10550 10551 * emit-rtl.h (store_bit_field): Move prototype to expmed.h. 10552 (extract_bit_field): Likewise. 10553 (extract_low_bits): Likewise. 10554 (expand_mult): Likewise. 10555 (expand_mult_highpart_adjust): Likewise. 10556 105572015-01-24 H.J. Lu <hongjiu.lu@intel.com> 10558 10559 * config/i386/driver-i386.c (host_detect_local_cpu): Check new 10560 Silvermont, Haswell, Broadwell and Knights Landing model numbers. 10561 * config/i386/i386.c (processor_model): Add 10562 M_INTEL_COREI7_BROADWELL. 10563 (arch_names_table): Add "broadwell". 10564 105652015-01-24 Oleg Endo <olegendo@gcc.gnu.org> 10566 10567 PR target/49263 10568 PR target/53987 10569 PR target/64345 10570 PR target/59533 10571 PR target/52933 10572 PR target/54236 10573 PR target/51244 10574 * config/sh/sh-protos.h 10575 (sh_extending_set_of_reg::can_use_as_unextended_reg, 10576 sh_extending_set_of_reg::use_as_unextended_reg, 10577 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn, 10578 sh_is_movrt_insn, sh_insn_operands_modified_between_p, 10579 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr, 10580 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions. 10581 (sh_treg_insns): New class. 10582 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook. 10583 (scope_counter): New class. 10584 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest, 10585 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn, 10586 sh_extending_set_of_reg::can_use_as_unextended_reg, 10587 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr, 10588 sh_in_recog_treg_set_expr, sh_try_split_insn_simple, 10589 sh_split_treg_set_expr): New functions. 10590 (addsubcosts): Handle treg_set_expr. 10591 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT. 10592 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND. 10593 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases. 10594 (sh_insn_operands_modified_between_p): Make non-static. 10595 * config/sh/predicates.md (zero_extend_movu_operand): Allow 10596 simple_mem_operand in addition to displacement_mem_operand. 10597 (zero_extend_operand): Don't allow zero_extend_movu_operand. 10598 (treg_set_expr, treg_set_expr_not_const01, 10599 arith_reg_or_treg_set_expr): New predicates. 10600 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and 10601 arith_or_int_operand instead of logical_operand. Convert to 10602 insn_and_split. Try to optimize constant operand in splitter. 10603 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split. 10604 (*tstqi_t_zero): Delete. 10605 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition. 10606 (tstsi_t_and_not): Delete. 10607 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract. 10608 Convert to insn_and_split. 10609 (unnamed split, tstsi_t_zero_extract_xor, 10610 tstsi_t_zero_extract_subreg_xor_little, 10611 tstsi_t_zero_extract_subreg_xor_big): Delete. 10612 (*tstsi_t_shift_mask): New insn_and_split. 10613 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try 10614 to recombine with surrounding insns when splitting. 10615 (*negtstsi): Add !sh_in_recog_treg_set_expr condition. 10616 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ... 10617 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4, 10618 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns. 10619 (*cbranch_div0s: Delete. 10620 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. 10621 Try to recombine with surrounding insns when splitting. Add operand 10622 order variants. 10623 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01. 10624 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb, 10625 *addc_r_r_msb, *addc_2r_msb): Delete. 10626 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand 10627 order variant. 10628 (*addc_negreg_t): New insn_and_split. 10629 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. 10630 Try to recombine with surrounding insns when splitting. 10631 Add operand order variants. 10632 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New 10633 insn_and_split patterns. 10634 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with 10635 surrounding insns when splitting. 10636 (unnamed rotcr split): Use arith_reg_or_treg_set_expr. 10637 (*rotcl): Likewise. Add zero_extract variant. 10638 (*ashrsi2_31): New insn_and_split. 10639 (*negc): Convert to insn_and_split. Use treg_set_expr. 10640 (*zero_extend<mode>si2_disp_mem): Update comment. 10641 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split 10642 condition. 10643 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine 10644 with surrounding insns when splitting. 10645 (any_treg_expr_to_reg): New insn_and_split. 10646 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2, 10647 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5, 10648 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1, 10649 *zero_extract_2): New single bit zero extract patterns. 10650 (bld_reg, *bld_regqi): Fold into bld<mode>_reg. 10651 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load, 10652 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load, 10653 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for 10654 set destination. 10655 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of 10656 register_operand for set source. 10657 106582015-01-23 Jan Hubicka <hubicka@ucw.cz> 10659 10660 * i386.opt (prefetch_sse): New targetsave. 10661 * i386.c (ix86_function_specific_save): Save prefetch_sse. 10662 (ix86_function_specific_restore): Restore prefetch_sse and initialize 10663 ix86_cost/ix86_tune_cost. 10664 106652015-01-23 David Malcolm <dmalcolm@redhat.com> 10666 10667 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): 10668 Support the JIT by using 0 as the language type. 10669 106702015-01-23 Vladimir Makarov <vmakarov@redhat.com> 10671 10672 PR target/64317 10673 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make 10674 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo. 10675 (mark_regno_live, process_bb_lives): Pass new parameter value to 10676 make_hard_regno_born. 10677 106782015-01-23 Jakub Jelinek <jakub@redhat.com> 10679 10680 PR rtl-optimization/63637 10681 PR rtl-optimization/60663 10682 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST 10683 if elt->cost is MAX_COST for ASM_OPERANDS. 10684 (find_sets_in_insn): Fix up comment typo. 10685 (cse_insn): Don't set src_volatile for all non-volatile 10686 ASM_OPERANDS in PARALLELs, but just those with multiple outputs 10687 or with "memory" clobber. Set elt->cost to MAX_COST 10688 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST 10689 if new_src is ASM_OPERANDS and elt->cost is MAX_COST. 10690 106912015-01-23 Uros Bizjak <ubizjak@gmail.com> 10692 10693 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for 10694 alternative 1. 10695 106962015-01-23 Uros Bizjak <ubizjak@gmail.com> 10697 10698 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to 10699 libgcc/config/i386/elf-lib.h. 10700 107012015-01-23 Jakub Jelinek <jakub@redhat.com> 10702 10703 PR driver/64737 10704 * gcc.c (print_configuration): Don't print a blank line at the end 10705 here... 10706 (run_attempt): ... but here unstead. 10707 10708 PR middle-end/64734 10709 * omp-low.c (scan_sharing_clauses): Don't ignore 10710 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses 10711 on target data/update constructs. 10712 107132015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de> 10714 10715 PR target/50928 10716 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here. 10717 (DEBUG_RELOAD): Removed define. 10718 (m32c_limit_reload_class): Enable traces with if DEBUG0. 10719 (m32c_function_arg): Added a type cast. 10720 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode. 10721 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments. 10722 * config/m32c/bitops.md (andqi3_16): Likewise. 10723 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise. 10724 (push_a01_l): Likewise. 10725 107262015-01-23 David Malcolm <dmalcolm@redhat.com> 10727 10728 PR jit/64721 10729 * main.c (main): Construct toplev instances with init_signals=true. 10730 * toplev.c (general_init): Add param "init_signals", and use it to 10731 conditionalize the calls to signal and host_hooks.extra_signals. 10732 (toplev::toplev): Add param "init_signals". 10733 (toplev::main): When invoking general_init, pass m_init_signals 10734 to control whether signal-handlers are installed. 10735 * toplev.h (toplev::toplev): Add param "init_signals". 10736 (toplev::m_init_signals): New field. 10737 107382015-01-23 David Malcolm <dmalcolm@redhat.com> 10739 10740 PR jit/64722 10741 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to 10742 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the 10743 latter may be affected by the former (e.g. on i686). 10744 107452015-01-23 Martin Liska <mliska@suse.cz> 10746 10747 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow 10748 false positive during profiledbootstrap. 10749 107502015-01-23 Tom de Vries <tom@codesourcery.com> 10751 10752 PR libgomp/64672 10753 * lto-opts.c (lto_write_options): Output non-explicit conservative 10754 -fno-openacc. 10755 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc. 10756 (append_compiler_options): Pass -fopenacc through. 10757 107582015-01-23 Tom de Vries <tom@codesourcery.com> 10759 10760 PR libgomp/64707 10761 * lto-opts.c (lto_write_options): Output non-explicit conservative 10762 -fno-openmp. 10763 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp. 10764 (append_compiler_options): Pass -fopenmp through. 10765 107662015-01-23 Jakub Jelinek <jakub@redhat.com> 10767 10768 PR debug/64511 10769 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next 10770 GTY markup. 10771 10772 * diagnostic-core.h (internal_error_no_backtrace): New prototype. 10773 * diagnostic.def (DK_ICE_NOBT): New kind. 10774 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT 10775 like DK_ICE, but never print backtrace. 10776 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE. 10777 (internal_error_no_backtrace): New function. 10778 * gcc.c (execute): Use internal_error_no_backtrace instead of 10779 internal_error. 10780 107812015-01-22 Jeff Law <law@redhat.com> 10782 10783 PR target/52076 10784 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to 10785 improve code density for small immediate to memory case. 10786 (insv): Better handle bitfield assignments when the field is 10787 being set to all ones. 10788 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New 10789 operand predicate. 10790 107912015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10792 Jakub Jelinek <jakub@redhat.com> 10793 10794 PR middle-end/64729 10795 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit 10796 for !TARGET_LIBC_PROVIDES_SSP version and 10797 -fstack-protector-{all,strong,explicit} otherwise. 10798 * config/freebsd.h (LINK_SSP_SPEC): Handle 10799 -fstack-protector-{strong,explicit}. 10800 108012015-01-22 Jan Hubicka <hubicka@ucw.cz> 10802 H.J. Lu <hongjiu.lu@intel.com> 10803 10804 PR ipa/64694 10805 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of 10806 heap. 10807 108082015-01-22 Wei Mi <wmi@google.com> 10809 10810 PR rtl-optimization/64557 10811 * dse.c (record_store): Call get_addr for mem_addr. 10812 (check_mem_read_rtx): Likewise. 10813 108142015-01-22 Eric Botcazou <ebotcazou@adacore.com> 10815 10816 * fold-const.c (const_binop): Add early return for non-tcc_binary. 10817 108182015-01-22 Chen Gang <gang.chen.5i5j@gmail.com> 10819 10820 * toplev.c (init_local_tick): Process the failure when read 10821 fails for random_seed. 10822 10823 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for 10824 'pretty_name' to avoid memory overflow. 10825 108262015-01-22 Richard Biener <rguenther@suse.de> 10827 10828 PR middle-end/64728 10829 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform 10830 abnormal coalescing on undefined SSA names. 10831 108322015-22-01 Uros Bizjak <ubizjak@gmail.com> 10833 10834 PR target/64688 10835 PR target/64477 10836 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints 10837 for alternative 3. 10838 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1. 10839 108402015-01-22 Trevor Saunders <tsaunders@mozilla.com> 10841 10842 PR middle-end/63325 10843 * fold-const.c (fold_checksum_tree): Don't include value of 10844 expr->decl_with_vis.symtab_node in the checksum. 10845 108462015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 10847 10848 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or". 10849 108502015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com> 10851 10852 PR driver/64690 10853 * gcc.c (insert_comments): New function. 10854 (try_generate_repro): Call it. 10855 (append_text): Removed. 10856 108572015-01-22 Richard Biener <rguenther@suse.de> 10858 10859 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges 10860 with IL incompatible options. Properly honor user optimize 10861 attributes. 10862 108632015-01-21 Segher Boessenkool <segher@kernel.crashing.org> 10864 10865 PR rtl-optimization/64682 10866 * combine.c (distribute_notes): When moving a death note for 10867 a register that is set in the new I2, make sure to put it 10868 before that new I2. 10869 108702015-01-21 David Edelsohn <dje.gcc@gmail.com> 10871 10872 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags 10873 not TARGET_DEFAULT. 10874 108752015-01-21 Jakub Jelinek <jakub@redhat.com> 10876 10877 PR debug/64511 10878 * simplify-rtx.c (simplify_relational_operation_1): Don't try to 10879 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0)) 10880 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)). 10881 10882 PR sanitizer/64706 10883 * doc/invoke.texi (-fsanitize=vptr): Document. 10884 10885 PR rtl-optimization/62078 10886 * dse.c: Include cfgcleanup.h. 10887 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed 10888 anything call purge_all_dead_edges and cleanup_cfg at the end 10889 of the pass. 10890 108912015-01-21 Jan Hubicka <hubicka@ucw.cz> 10892 10893 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect 10894 edges. 10895 108962015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de> 10897 10898 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread 10899 decl attribute. 10900 109012015-01-21 David Sherwood <david.sherwood@arm.com> 10902 Tejas Belagod <Tejas.Belagod@arm.com> 10903 10904 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed. 10905 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed. 10906 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class): 10907 Removed. 10908 109092015-01-21 David Sherwood <david.sherwood@arm.com> 10910 Tejas Belagod <Tejas.Belagod@arm.com> 10911 10912 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist) 10913 (aarch64_reverse_mask): New decls. 10914 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum. 10915 (insn_count): New mode_attr. 10916 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci) 10917 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci) 10918 (vec_load_lanesxi): Made ABI compliant for Big Endian targets. 10919 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3) 10920 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3) 10921 (aarch64_simd_st4): New patterns. 10922 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist) 10923 (aarch64_reverse_mask): New functions. 10924 109252015-01-21 Richard Sandiford <richard.sandiford@arm.com> 10926 10927 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy): 10928 Declare. 10929 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra 10930 addressing modes for BE. 10931 (aarch64_print_operand): Add 'R' specifier. 10932 (aarch64_simd_disambiguate_copy): Delete. 10933 (aarch64_simd_emit_reg_reg_move): New function. 10934 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move 10935 in define_splits for structural moves. 10936 (mov<mode>): Use less restrictive predicates. 10937 (*aarch64_mov<mode>): Simplify and only allow for LE. 10938 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New. 10939 109402015-01-21 Alan Hayward <alan.hayward@arm.com> 10941 10942 * rtlanal.c (subreg_get_info): Exit early for simple and common cases. 10943 109442015-01-21 Richard Henderson <rth@redhat.com> 10945 10946 PR target/64669 10947 * ccmp.c (used_in_cond_stmt_p): Remove. 10948 (expand_ccmp_expr): Don't use it. 10949 109502015-01-21 Nick Clifton <nickc@redhat.com> 10951 10952 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside 10953 PARALLELs. 10954 109552015-01-21 Richard Biener <rguenther@suse.de> 10956 10957 PR middle-end/64313 10958 * tree-core.h (builtin_info, builtin_info_type): Turn from 10959 an object with two arrays into an array of an object with 10960 decl and two flags, implicit_p and declared_p. 10961 * tree.h (builtin_decl_explicit, builtin_decl_implicit, 10962 set_builtin_decl, set_builtin_decl_implicit_p, 10963 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust. 10964 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions. 10965 * builtins.c (builtin_info): Adjust. 10966 * gimplify.c (gimplify_addr_expr): References to builtins 10967 that have been declared by the user makes them eligible for 10968 use by the compiler. Call set_builtin_decl_implicit_p on them. 10969 109702015-01-20 Jeff Law <law@redhat.com> 10971 10972 PR target/59946 10973 * config/m68k/m68k.md (Comparison expanders and patterns): Do not 10974 allow pc-relative addresses in operand predicates or constraints. 10975 109762015-01-21 Bin Cheng <bin.cheng@arm.com> 10977 10978 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer 10979 neon on aarch32 processors for stringops. 10980 109812015-01-19 Jan Hubicka <hubicka@ucw.cz> 10982 10983 PR ipa/63576 10984 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges. 10985 109862015-01-19 Jan Hubicka <hubicka@ucw.cz> 10987 10988 PR lto/45375 10989 * ipa-inline.c: Include lto-streamer.h 10990 (report_inline_failed_reason): Output source file differences and 10991 flags on optimization/target node mismatch. 10992 (can_inline_edge_p): Consider caller to be the outer inline function; 10993 be less restrictive about matching opimize and optimize_size attributes. 10994 (inline_account_function_p): Break out from ... 10995 (inline_small_functions): ... here. 10996 * ipa-inline-transform.c (clone_inlined_nodes): Use 10997 inline_account_function_p. 10998 (inline_call): Use optimize attribution; use inline_account_function_p. 10999 (inline_transform): Use opt_for_fn. 11000 * ipa-inline.h (inline_account_function_p): Declare. 11001 110022015-01-20 Jakub Jelinek <jakub@redhat.com> 11003 11004 PR debug/64663 11005 * dwarf2out.c (decl_piece_node): Don't put bitsize into 11006 mode if bitsize <= 0. 11007 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl, 11008 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit 11009 sizes and positions. 11010 110112015-01-20 Chung-Lin Tang <cltang@codesourcery.com> 11012 11013 * config/nios2/nios2.c (nios2_asm_file_end): Implement 11014 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when 11015 needed. 11016 (TARGET_ASM_FILE_END): Define. 11017 110182015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> 11019 11020 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants. 11021 (struct tune_params): Use the enum. 11022 * arm.c (arm_*_tune): Update. 11023 (arm_option_override): Update. 11024 110252015-01-20 Richard Biener <rguenther@suse.de> 11026 11027 PR ipa/64684 11028 * ipa-reference.c (add_static_var): Inline ... 11029 (analyze_function): ... here after splitting out from ... 11030 (is_proper_for_analysis): ... this. 11031 110322015-01-20 Matthew Wahab <matthew.wahab@arm.com> 11033 11034 PR target/64149 11035 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle. 11036 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag, 11037 replace the conditional with it's true branch. 11038 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true. 11039 (arm_lra_p): Remove. 11040 110412015-01-20 Eric Botcazou <ebotcazou@adacore.com> 11042 11043 * config/visium/visium.h (LIB_SPEC): Adjust in default case. 11044 110452015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 11046 11047 * config/tilegx/mul-tables.c: Move symtab.h include after 11048 coretypes.h include. 11049 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h, 11050 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, 11051 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h, 11052 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h, 11053 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h. 11054 110552015-01-20 Igor Zamyatin <igor.zamyatin@intel.com> 11056 11057 PR bootstrap/64676 11058 Revert: 11059 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com> 11060 11061 PR rtl-optimization/64081 11062 * loop-iv.c (def_pred_latch_p): New function. 11063 (latch_dominating_def): Allow specific cases with non-single 11064 definitions. 11065 (iv_get_reaching_def): Likewise. 11066 (check_complex_exit_p): New function. 11067 (check_simple_exit): Use check_complex_exit_p to allow certain cases 11068 with exits not executing on any iteration. 11069 110702015-01-19 Jan Hubicka <hubicka@ucw.cz> 11071 11072 PR lto/45375 11073 * i386.c (ix86_option_override_internal): Use ix86_tune_cost 11074 to set branch cost. 11075 110762015-01-19 Jan Hubicka <hubicka@ucw.cz> 11077 11078 PR lto/45375 11079 * i386.c (gate): Check flag_expensive_optimizations and 11080 optimize_size. 11081 (ix86_option_override_internal): Drop optimize_size condition 11082 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER, 11083 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE, 11084 MASK_PREFER_AVX128. 11085 (ix86_avx256_split_vector_move_misalign, 11086 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed. 11087 * sse.md (all uses of TARGET_PREFER_AVX128): Add 11088 optimize_insn_for_speed_p check. 11089 110902015-01-19 Matthew Fortune <matthew.fortune@imgtec.com> 11091 11092 * config/mips/mips.h (FP_ASM_SPEC): New define. 11093 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC 11094 instead. 11095 110962015-01-19 Oleg Endo <olegendo@gcc.gnu.org> 11097 11098 PR target/53988 11099 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return 11100 nullptr for insn when reaching the first insn. 11101 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator. 11102 (sh_insn_operands_modified_between_p): Add nullptr check. 11103 (sh_find_extending_set_of_reg): Fix log message. Don't accept 11104 sign extending mem load if the insn contains any UNSPEC or 11105 UNSPEC_VOLATILE. 11106 111072015-01-19 Jan Hubicka <hubicka@ucw.cz> 11108 11109 * params.def (inline-unit-growth): Drop to 15%. 11110 * invoke.texi (inline-unit-growth): Document change. 11111 111122015-01-19 Martin Liska <mliska@suse.cz> 11113 11114 PR ipa/64668 11115 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper 11116 function for second argument of OBJ_TYPE_REF. 11117 111182015-01-19 Jan Hubicka <hubicka@ucw.cz> 11119 11120 PR ipa/64218 11121 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check 11122 whether function is an alias. 11123 111242015-01-19 Jan Hubicka <hubicka@ucw.cz> 11125 11126 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless 11127 cases. 11128 111292015-01-19 Vladimir Makarov <vmakarov@redhat.com> 11130 11131 PR rtl-optimization/64671 11132 * lra-remat.c (operand_to_remat): Don't consider jump and call 11133 insns. 11134 111352015-01-19 David Edelsohn <dje.gcc@gmail.com> 11136 11137 PR target/59828 11138 * config/rs6000/default64.h: Include rs6000-cpus.def. 11139 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8). 11140 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4. 11141 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7 11142 and POWER8. 11143 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to 11144 POWER8. 11145 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine 11146 pseudo-op to specify assembler dialect. 11147 111482015-01-19 Martin Liska <mliska@suse.cz> 11149 11150 PR ipa/64664 11151 * ipa-icf.c (sem_item_optimizer::filter_removed_items): 11152 Handle safe potentially removed nodes during filtering. 11153 111542015-01-19 Martin Liska <mliska@suse.cz> 11155 11156 * doc/extend.texi (no_icf): Add new attribute description. 11157 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases 11158 where the pass attempts to merge a function with no_icf attribute. 11159 111602015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 11161 11162 PR target/64532 11163 * doc/md.texi (ARM Options): Document register constraints. 11164 111652015-01-19 Jiong Wang <jiong.wang@arm.com> 11166 Andrew Pinski <apinski@cavium.com> 11167 11168 PR target/64304 11169 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted. 11170 (ashl<mode>3): Don't expand if operands[2] is not constant. 11171 111722015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 11173 11174 PR target/64448 11175 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal): 11176 Match xor-and-xor RTL pattern. 11177 111782015-01-19 Igor Zamyatin <igor.zamyatin@intel.com> 11179 11180 PR rtl-optimization/64081 11181 * loop-iv.c (def_pred_latch_p): New function. 11182 (latch_dominating_def): Allow specific cases with non-single 11183 definitions. 11184 (iv_get_reaching_def): Likewise. 11185 (check_complex_exit_p): New function. 11186 (check_simple_exit): Use check_complex_exit_p to allow certain cases 11187 with exits not executing on any iteration. 11188 111892015-01-19 Jakub Jelinek <jakub@redhat.com> 11190 11191 * common.opt (fgraphite): Fix a typo. 11192 111932015-01-19 Felix Yang <felix.yang@huawei.com> 11194 11195 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New 11196 pattern. 11197 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp, 11198 uminp, smax_nanp, smin_nanp): New builtins. 11199 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32, 11200 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32, 11201 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64, 11202 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64, 11203 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8, 11204 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8, 11205 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64, 11206 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64, 11207 vpminnms_f32): Rewrite using builtin functions. 11208 112092015-01-19 Thomas Schwinge <thomas@codesourcery.com> 11210 11211 PR libgomp/64625 11212 * omp-low.c (offload_symbol_decl): Remove variable. 11213 (get_offload_symbol_decl): Remove function. 11214 (expand_omp_target): For BUILT_IN_GOMP_TARGET, 11215 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL 11216 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START, 11217 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL, 11218 BUILT_IN_GOACC_UPDATE don't pass it at all. 11219 112202015-01-19 Ilya Enkovich <ilya.enkovich@intel.com> 11221 11222 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk 11223 callers. 11224 112252015-01-19 Ilya Enkovich <ilya.enkovich@intel.com> 11226 11227 * ipa-chkp.c (chkp_produce_thunks): Add early param 11228 to split thunks production into two passes. Keep 11229 'always_inline' function bodies after the first pass. 11230 (pass_data_ipa_chkp_early_produce_thunks): New. 11231 (pass_ipa_chkp_early_produce_thunks): New. 11232 (pass_ipa_chkp_produce_thunks::execute): Adjust to new 11233 chkp_produce_thunks signature. 11234 (make_pass_ipa_chkp_early_produce_thunks): New. 11235 * passes.def (pass_ipa_chkp_early_produce_thunks): New. 11236 (pass_ipa_chkp_produce_thunks): Move after local optimizations. 11237 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New. 11238 112392015-01-18 Jan Hubicka <hubicka@ucw.cz> 11240 11241 * cgraph.c (cgraph_node::dump): Dump profile flags. 11242 112432015-01-18 Oleg Endo <olegendo@gcc.gnu.org> 11244 11245 PR target/64652 11246 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address 11247 reg appear first in the parallel. 11248 112492015-01-18 Jan Hubicka <hubicka@ucw.cz> 11250 11251 * ipa-reference.c (set_reference_optimization_summary, 11252 ipa_reference_get_not_written_global): Do nothing if ipa-reference is 11253 disabled. 11254 (ignore_module_statics): New static var. 11255 (propagate_bits): If ipa-reference is disabled, do not look into local 11256 properties. 11257 (analyze_function): Disable analysis when ipa_reference is disabled. 11258 (generate_summary): Do not dump when reference is disabled; 11259 collect vars accessed from functions with ipa-reference disabled. 11260 (get_read_write_all_from_node): When ipa-reference is disabled, use the 11261 node flags. 11262 (gate): Enable for LTO. 11263 (ignore_edge_p): New function. 11264 (propagate): Skip functions w/o ipa-reference analysis. 11265 * optc-save-gen.awk: Handle optimize_debug correctly. 11266 * opth-gen.awk: Likewise. 11267 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse, 11268 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region, 11269 fira-share-save-slots, fira-share-spill-slots, 11270 fmodulo-sched-allow-regmoves, fpartial-inlining, 11271 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow, 11272 ftracer, ftree-parallelize-loops, fassociative-math, 11273 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as 11274 Optimization 11275 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables, 11276 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as 11277 Optimization. 11278 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items): 11279 Fix for IPA. 11280 112812015-01-18 Jan Hubicka <hubicka@ucw.cz> 11282 11283 PR ipa/64378 11284 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative 11285 flag correctly. 11286 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation. 11287 112882015-01-18 Sandra Loosemore <sandra@codesourcery.com> 11289 11290 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]): 11291 Remove duplicate option listings. 11292 112932015-01-18 Felix Yang <felix.yang@huawei.com> 11294 11295 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test. 11296 (autofdo_source_profile::get_callsite_total_count, 11297 function_instance::get_function_instance_by_decl, 11298 string_table::get_index, string_table::get_index_by_decl, 11299 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline): 11300 Fix comment typos. Reformatting and minor code rearrangement. 11301 113022015-01-17 Segher Boessenkool <segher@kernel.crashing.org> 11303 11304 * config/rs6000/rs6000.md (probe_stack): Delete. 11305 (probe_stack_address): New. 11306 113072015-01-17 Segher Boessenkool <segher@kernel.crashing.org> 11308 11309 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT 11310 to test for 32-bit ABIs, not !TARGET_POWERPC64. 11311 113122015-01-17 Segher Boessenkool <segher@kernel.crashing.org> 11313 11314 * config/rs6000/rs6000.c (rs6000_parallel_return): New function. 11315 (rs6000_function_value): Use it. Handle SCmode and TCmode as well, 11316 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD 11317 snafu. 11318 (rs6000_libcall_value): Use the new function. 11319 113202015-01-17 Sandra Loosemore <sandra@codesourcery.com> 11321 11322 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing. 11323 113242015-01-17 Eric Botcazou <ebotcazou@adacore.com> 11325 11326 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid, 11327 implement a more precise life analysis for it during backward scan. 11328 113292015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com> 11330 11331 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed. 11332 113332015-01-17 Bernd Schmidt <bernds@codesourcery.com> 11334 11335 PR rtl-optimization/52773 11336 * calls.c (emit_library_call_value): When pushing arguments use 11337 stack_pointer_rtx rather than virtual_outgoing_args_rtx in 11338 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic 11339 stack pointer reference into CALL_INSN_FUNCTION_USAGE. 11340 113412015-01-17 Jeff Law <law@redhat.com> 11342 11343 PR rtl-optimization/32790 11344 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT, 11345 not ZERO_EXTEND in SET_DESTs. 11346 113472015-01-17 Alan Modra <amodra@gmail.com> 11348 11349 * cprop.c (do_local_cprop): Revert last change. 11350 113512015-01-16 DJ Delorie <dj@redhat.com> 11352 Nick Clifton <nickc@redhat.com> 11353 11354 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles. 11355 (addhi3_real): Likewise. Fix [HL+0] syntax. 11356 (subqi3_real): Likewise. 11357 (subhi3_real): Likewise. 11358 (cbranchqi4_real): Likewise. Allow saddr,#imm. 11359 (cbranchhi4_real): Likewise. 11360 (cbranchhi4_real_inverted): Likewise. 11361 (cbranchsi4_real_lt): Likewise. 11362 (cbranchsi4_real_ge): Likewise. 11363 (cbranchsi4_real_ge): Likewise. 11364 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise. 11365 (sub<mode>3_virt): Likewise. 11366 (cbranchqi4_virt): Likewise. 11367 (cbranchhi4_virt): Likewise. 11368 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means 11369 always use '[reg+imm]' even when imm is zero. 11370 * config/rl78/predicates.md (rl78_volatile_memory_operand): New. 11371 (rl78_general_operand): New. 11372 (rl78_nonimmediate_operand): New. 11373 (rl78_nonfar_operand): Use them. 11374 (rl78_nonfar_nonimm_operand): Likewise. 11375 (rl78_stack_based_mem): Fix. 11376 * config/rl78/constraints.md (Ibqi): New. 11377 (IBqi): New. 11378 (Wsa): New. 11379 (Wsf): New. 11380 (Cs1): Fix. 11381 * config/rl78/rl78-expand.md (andqi3): Accept volatiles. 11382 (iorqi3): Likewise. 11383 (xorqi3): Likewise. 11384 * config/rl78/rl78-protos.h (rl78_sfr_p): New. 11385 11386 * config/rl78/constrains (Qs8): New constraint. 11387 * config/rl78/rl78.c (rl78_flags_already_set): New function. 11388 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype. 11389 * config/rl78/rl78-real.md (update_Z): New attribute. 11390 Update patterns to set it. 11391 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a 11392 shorter compare and branch sequence can be used. 11393 (cbranchhi4_real): Likewise. 11394 (cbranchhi4_real_inverted): Likewise. 11395 11396 * config/rl78/predicates.md (uword_operand): Allow symbol_refs. 11397 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near 11398 address space. 11399 * config/rl78/rl78.c (rl78_get_name_encoding): New. 11400 (rl78_option_override): Allow -mes0 only if C. 11401 (characterize_address): Support subregs of symbol_refs. 11402 (rl78_addr_space_address_mode): Move. Add __near. 11403 (rl78_far_p): Likewise. 11404 (rl78_addr_space_pointer_mode): Likewise. 11405 (rl78_as_legitimate_address): Likewise. 11406 (rl78_addr_space_subset_p): Likewise. 11407 (rl78_addr_space_convert): Likewise. 11408 (rl78_print_operand_1): Support 16-bit addressing of 32-bit 11409 symbols with -mes0. 11410 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC] 11411 addressing. 11412 (rl78_alloc_physical_registers_op1): Change logic to prefer 11413 symbol[BC] addressing. 11414 (frodata_section): New. 11415 (rl78_asm_init_sections): Initialize it. 11416 (rl78_select_section): Put __far readonly symbols in .frodata. 11417 (rl78_make_type_far): New. 11418 (rl78_insert_attributes): Force all readonly symbols to be 11419 __far when -mes0. 11420 (rl78_asm_out_integer): New. 11421 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New. 11422 * config/rl78/rl78.opt (-mes0): New. 11423 11424 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New. 11425 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New. 11426 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New. 11427 * config/rl78/rl78-protos.h (rl78_output_labelref): New. 11428 (rl78_saddr_p): New. 11429 (rl78_output_aligned_common): New. 11430 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings. 11431 (rl78_handle_saddr_attribute): New. 11432 (rl78_handle_naked_attribute): New. 11433 (rl78_attribute_table): Add saddr. 11434 (rl78_print_operand_1): Don't print '!' on saddr operands. 11435 (rl78_print_operand_1): Strip encodings. 11436 (rl78_sfr_p): New. 11437 (rl78_strip_name_encoding): New. 11438 (rl78_attrlist_to_encoding): New. 11439 (rl78_encode_section_info): New. 11440 (rl78_asm_init_sections): New. 11441 (rl78_select_section): New. 11442 (rl78_output_labelref): New. 11443 (rl78_output_aligned_common): New. 11444 (rl78_asm_out_integer): New. 11445 (rl78_asm_ctor_dtor): New. 11446 (rl78_asm_constructor): New. 11447 (rl78_asm_destructor): New. 11448 11449 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es. 11450 * config/rl78/rl78.c (rl78_expand_epilogue): Update. 11451 (transcode_memory_rtx): Update. 11452 (rl78_expand_epilogue): Use A_REG instead of 0. 11453 114542015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> 11455 11456 * config/arm/arm-protos.h (struct tune_params): New field 11457 sched_autopref_queue_depth. 11458 * config/arm/arm.c (sched-int.h): Include header. 11459 (arm_first_cycle_multipass_dfa_lookahead_guard,) 11460 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook. 11461 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,) 11462 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,) 11463 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,) 11464 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,) 11465 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,) 11466 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): 11467 Specify sched_autopref_queue_depth value. Enabled for A15 and A57. 11468 * config/arm/t-arm (arm.o): Update. 11469 * haifa-sched.c (update_insn_after_change): Update. 11470 (rank_for_schedule): Use auto-prefetcher model, if requested. 11471 (autopref_multipass_init): New static function. 11472 (autopref_rank_for_schedule): New rank_for_schedule heuristic. 11473 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static 11474 variable for debug dumps. 11475 (autopref_multipass_dfa_lookahead_guard_1): New static helper function. 11476 (autopref_multipass_dfa_lookahead_guard): New global function that 11477 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook. 11478 (init_h_i_d): Update. 11479 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob. 11480 * sched-int.h (enum autopref_multipass_data_status): New const enum. 11481 (autopref_multipass_data_): Structure for auto-prefetcher data. 11482 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs. 11483 (struct _haifa_insn_data:autopref_multipass_data): New field. 11484 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro. 11485 (autopref_multipass_dfa_lookahead_guard): Declare. 11486 114872015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> 11488 11489 * rtlanal.c (get_base_term): Handle SCRATCH. 11490 114912015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> 11492 11493 * config/aarch64/aarch64.c 11494 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook. 11495 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define. 11496 * config/arm/arm.c 11497 (arm_first_cycle_multipass_dfa_lookahead): Implement hook. 11498 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define. 11499 115002015-01-17 Alan Modra <amodra@gmail.com> 11501 11502 * cprop.c (do_local_cprop): Disallow replacement of fixed 11503 hard registers. 11504 115052015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 11506 11507 PR target/62066 11508 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before 11509 early return 0. 11510 115112015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de> 11512 11513 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters. 11514 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update. 11515 115162015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 11517 11518 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to... 11519 * config/arm/thumb1.md: ... Here. 11520 115212015-01-16 Segher Boessenkool <segher@kernel.crashing.org> 11522 11523 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow 11524 TImode for TARGET_32BIT. 11525 115262015-01-16 Segher Boessenkool <segher@kernel.crashing.org> 11527 11528 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE, 11529 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement 11530 as ... 11531 (rs6000_abi_word_mode): New function. 11532 115332015-01-16 Segher Boessenkool <segher@kernel.crashing.org> 11534 11535 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD 11536 instead of UNITS_PER_WORD to describe the size of stack slots. 11537 115382015-01-16 Segher Boessenkool <segher@kernel.crashing.org> 11539 11540 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement 11541 as rs6000_promote_function_mode. Move comment to there. 11542 (rs6000_promote_function_mode): New function. 11543 115442015-01-16 Segher Boessenkool <segher@kernel.crashing.org> 11545 11546 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32 11547 -mpowerpc64 is active. 11548 115492015-01-16 Ilya Enkovich <ilya.enkovich@intel.com> 11550 11551 PR middle-end/64353 11552 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for 11553 virtuals on start. 11554 115552015-01-16 James Greenhalgh <james.greenhalgh@arm.com> 11556 11557 * config/arm/cortex-a57.md: Remove duplicate of file accidentally 11558 introduced in revision 219724. 11559 115602015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 11561 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 11562 11563 PR target/64263 11564 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the 11565 destination is not a GP reg. 11566 (*movdi_aarch64): Likewise. 11567 115682015-01-16 David Edelsohn <dje.gcc@gmail.com> 11569 11570 PR target/64623 11571 * config/rs6000/default64.h: Revert ISA change. 11572 115732015-01-16 Richard Biener <rguenther@suse.de> 11574 11575 PR middle-end/64614 11576 * tree-ssa-uninit.c: Include tree-cfg.h. 11577 (MAX_SWITCH_CASES): New define. 11578 (convert_control_dep_chain_into_preds): Handle switch statements. 11579 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0. 11580 (normalize_one_pred_1): Do not split bit-manipulations. 11581 Record (x & CST). 11582 115832015-01-16 Richard Biener <rguenther@suse.de> 11584 11585 PR tree-optimization/64568 11586 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard 11587 complex load rewriting for TARGET_MEM_REFs. 11588 115892015-01-16 Uros Bizjak <ubizjak@gmail.com> 11590 11591 * builtins.c (expand_builtin_acc_on_device): Check target for NULL. 11592 115932015-01-16 Matthew Wahab <matthew.wahab@arm.com> 11594 11595 PR target/64149 11596 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag 11597 variable. 11598 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true. 11599 (aarch64_lra_p): Remove. 11600 116012015-01-16 Ilya Enkovich <ilya.enkovich@intel.com> 11602 11603 PR target/64363 11604 * ipa-chkp.h (chkp_instrumentable_p): New. 11605 * ipa-chkp.c: Include tree-inline.h. 11606 (chkp_instrumentable_p): New. 11607 (chkp_maybe_create_clone): Use chkp_instrumentable_p. 11608 Fix processing of not instrumentable functions. 11609 (chkp_versioning): Use chkp_instrumentable_p. Warn about 11610 not instrumentable functions. 11611 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use 11612 chkp_instrumentable_p. 11613 * tree-inline.h (copy_forbidden): New. 11614 * tree-inline.c (copy_forbidden): Not static anymore. 11615 116162015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 11617 11618 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent, 11619 ptr1, ptr2 unused. 11620 116212015-01-16 Robert Suchanek <robert.suchanek@imgtec.com> 11622 11623 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of 11624 type OP_OUT to OP_INOUT. 11625 116262015-01-16 Robert Suchanek <robert.suchanek@imgtec.com> 11627 11628 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum 11629 (high x) y) to y if x and y have the same base. 11630 116312015-01-16 James Greenhalgh <james.greenhalgh@arm.com> 11632 11633 * config/arm/cortex-a57.md: New. 11634 * config/aarch64/aarch64.md: Include it. 11635 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it. 11636 * config/aarch64/aarch64-tune.md: Regenerate. 11637 116382015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com> 11639 11640 PR target/64015 11641 * ccmp.c (expand_ccmp_next): New function. 11642 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence 11643 and compare insn sequence. 11644 * config/aarch64/aarch64.c (aarch64_code_to_ccmode, 11645 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions. 11646 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO. 11647 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>. 11648 (*ccmp_ior): Changed to ccmp_ior<mode>. 11649 (cmp<mode>): New pattern. 11650 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update 11651 parameters. 11652 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters. 11653 116542015-01-16 Ilya Tocar <ilya.tocar@intel.com> 11655 11656 * config/i386/avx2intrin.h (_mm256_bslli_epi128, 11657 _mm256_bsrli_epi128): New. 11658 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto. 11659 116602015-01-15 Jiong Wang <jiong.wang@arm.com> 11661 11662 * expmed.c (store_bit_field_using_insv): Improve warning message. 11663 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED. 11664 116652015-01-15 Jiong Wang <jiong.wang@arm.com> 11666 11667 PR rtl-optimization/64011 11668 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when 11669 there is partial overflow. 11670 116712015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> 11672 11673 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change 11674 prototype. 11675 (nds32_expand_epilogue_v3pop): Likewise. 11676 * config/nds32/nds32.md (sibcall): Define this for sibling call 11677 optimization. 11678 (sibcall_register): Likewise. 11679 (sibcall_immediate): Likewise. 11680 (sibcall_value): Likewise. 11681 (sibcall_value_register): Likewise. 11682 (sibcall_value_immediate): Likewise. 11683 (sibcall_epilogue): Likewise. 11684 (epilogue): Pass false to indicate this is not a sibcall epilogue. 11685 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case. 11686 (nds32_expand_epilogue_v3pop): Likewise. 11687 116882015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> 11689 11690 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New. 11691 * config/nds32/nds32.md (unspec_volatile_func_return): Remove. 11692 (return_internal): New. 11693 (return): Define this named pattern. 11694 (simple_return): Define this named pattern. 11695 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal 11696 pattern instead of unspec_volatile_func_return. 11697 (nds32_expand_epilogue_v3pop): Likewise. 11698 (nds32_can_use_return_insn): New function. 11699 117002015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> 11701 11702 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New. 11703 * config/nds32/nds32.md (pop25return): New. 11704 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit 11705 pop25return pattern. 11706 117072015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> 11708 11709 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp, 11710 -mforbid-fp-as-gp, and -mex9 options. 11711 117122015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> 11713 11714 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and 11715 remove -mgp-direct option. 11716 117172015-01-15 Jan Hubicka <hubicka@ucw.cz> 11718 11719 * doc/invoke.texi (--param early-inlining-insns): Update default value. 11720 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14. 11721 117222015-01-15 Jan Hubicka <hubicka@ucw.cz> 11723 11724 * ipa-inline.c (inline_small_functions): Work around hints 11725 cache issue. 11726 117272015-01-15 Sandra Loosemore <sandra@codesourcery.com> 11728 11729 PR target/59710 11730 * doc/invoke.texi (Option Summary): Document new Nios II 11731 -mgpopt= syntax. 11732 (Nios II Options): Likewise. 11733 * config/nios2/nios2.opt: Add -mgpopt= option support. 11734 Modify existing -mgpopt and -mno-gpopt options to be aliases. 11735 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New. 11736 * config/nios2/nios2.c (nios2_option_override): Adjust 11737 -mgpopt defaulting. 11738 (nios2_in_small_data_p): Return true for explicit small data 11739 sections even with -G0. 11740 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt= 11741 option choices. 11742 117432015-01-15 Jan Hubicka <hubicka@ucw.cz> 11744 11745 PR ipa/64612 11746 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling 11747 of comdat locals. 11748 (inline_call): Fix removal of aliases. 11749 117502015-01-15 Jakub Jelinek <jakub@redhat.com> 11751 11752 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR, 11753 include SANITIZE_VPTR in SANITIZE_UNDEFINED. 11754 * opts.c (common_handle_option): Add -fsanitize=vptr. 11755 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS, 11756 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New. 11757 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER, 11758 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE. 11759 (ubsan_expand_vptr_ifn): New prototype. 11760 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE, 11761 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL, 11762 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK, 11763 expand_LOOP_VECTORIZED): Make argument nameless, remove 11764 ATTRIBUTE_UNUSED. 11765 (expand_UBSAN_VPTR): New function. 11766 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W 11767 in fn spec. 11768 (UBSAN_VPTR): New internal function. 11769 * sanopt.c (tree_map_traits): Renamed to ... 11770 (sanopt_tree_map_traits): ... this. 11771 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes. 11772 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits 11773 to sanopt_tree_map_traits renaming. Add vptr_check_map field. 11774 (maybe_optimize_ubsan_vptr_ifn): New function. 11775 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR. 11776 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for 11777 -fsanitize=vptr. 11778 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain 11779 internal calls like pure functions for aliasing, even when they 11780 have other side-effects that prevent making them ECF_PURE. 11781 * ubsan.c (ubsan_vptr_type_cache_decl): New variable. 11782 (ubsan_expand_vptr_ifn): New function. 11783 117842015-01-15 Vladimir Makarov <vmakarov@redhat.com> 11785 11786 PR rtl-optimization/64110 11787 * stmt.c (parse_output_constraint): Process '^' and '$'. 11788 (parse_input_constraint): Ditto. 11789 * lra-constraints.c (process_alt_operands): Process the new 11790 constraints. 11791 * ira-costs.c (record_reg_classes): Process the new constraint 11792 '^'. 11793 * genoutput.c (indep_constraints): Add '^' and '$'. 11794 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'. 11795 * doc/md.texi: Add description of the new constraints. 11796 117972015-01-15 Thomas Schwinge <thomas@codesourcery.com> 11798 Bernd Schmidt <bernds@codesourcery.com> 11799 Cesar Philippidis <cesar@codesourcery.com> 11800 James Norris <jnorris@codesourcery.com> 11801 Tom de Vries <tom@codesourcery.com> 11802 Ilmir Usmanov <i.usmanov@samsung.com> 11803 Dmitry Bocharnikov <dmitry.b@samsung.com> 11804 Evgeny Gavrin <e.gavrin@samsung.com> 11805 Jakub Jelinek <jakub@redhat.com> 11806 11807 * builtin-types.def (BT_FN_VOID_INT_INT_VAR) 11808 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) 11809 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): 11810 New function types. 11811 * builtins.c: Include "gomp-constants.h". 11812 (expand_builtin_acc_on_device): New function. 11813 (expand_builtin, is_inexpensive_builtin): Handle 11814 BUILT_IN_ACC_ON_DEVICE. 11815 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER): 11816 New macros. 11817 * cgraph.c (cgraph_node::create): Consider flag_openacc next to 11818 flag_openmp. 11819 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h. 11820 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add 11821 i386/intelmic-offload.h. 11822 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link 11823 to libgomp and its dependencies. 11824 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise. 11825 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. 11826 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise. 11827 * config/ia64/hpux.h (LIB_SPEC): Likewise. 11828 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. 11829 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise. 11830 * doc/generic.texi: Update for OpenACC changes. 11831 * doc/gimple.texi: Likewise. 11832 * doc/invoke.texi: Likewise. 11833 * doc/sourcebuild.texi: Likewise. 11834 * gimple-pretty-print.c (dump_gimple_omp_for): Handle 11835 GF_OMP_FOR_KIND_OACC_LOOP. 11836 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS, 11837 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA, 11838 GF_OMP_TARGET_KIND_OACC_UPDATE, 11839 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA. 11840 Dump more data. 11841 * gimple.c: Update comments for OpenACC changes. 11842 * gimple.def: Likewise. 11843 * gimple.h: Likewise. 11844 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP, 11845 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS, 11846 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE, 11847 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA. 11848 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the 11849 appropriate place. 11850 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions. 11851 * gimplify.c: Include "gomp-constants.h". 11852 Update comments for OpenACC changes. 11853 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA, 11854 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA, 11855 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP. 11856 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle 11857 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, 11858 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS, 11859 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER, 11860 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT, 11861 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO, 11862 OMP_CLAUSE_SEQ. 11863 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use 11864 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use 11865 OMP_CLAUSE_SET_MAP_KIND. 11866 (gimplify_oacc_cache): New function. 11867 (gimplify_omp_for): Handle OACC_LOOP. 11868 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL, 11869 OACC_DATA. 11870 (gimplify_omp_target_update): Handle OACC_ENTER_DATA, 11871 OACC_EXIT_DATA, OACC_UPDATE. 11872 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA, 11873 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA, 11874 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE. 11875 (gimplify_body): Consider flag_openacc next to flag_openmp. 11876 * lto-streamer-out.c: Include "gomp-constants.h". 11877 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE) 11878 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END) 11879 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL) 11880 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT) 11881 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS) 11882 (BUILT_IN_ACC_ON_DEVICE): New builtins. 11883 * omp-low.c: Include "gomp-constants.h". 11884 Update comments for OpenACC changes. 11885 (struct omp_context): Add reduction_map, gwv_below, gwv_this 11886 members. 11887 (extract_omp_for_data, use_pointer_for_field, install_var_field) 11888 (new_omp_context, delete_omp_context, scan_sharing_clauses) 11889 (create_omp_child_function, scan_omp_for, scan_omp_target) 11890 (check_omp_nesting_restrictions, lower_reduction_clauses) 11891 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges): 11892 Update for OpenACC changes. 11893 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS: 11894 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH, 11895 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG, 11896 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT, 11897 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT, 11898 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of 11899 OMP_CLAUSE_MAP_*. 11900 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk): 11901 Handle GF_OMP_FOR_KIND_OACC_LOOP. 11902 (expand_omp_target, lower_omp_target): Handle 11903 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS, 11904 GF_OMP_TARGET_KIND_OACC_UPDATE, 11905 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA, 11906 GF_OMP_TARGET_KIND_OACC_DATA. 11907 (pass_expand_omp::execute, execute_lower_omp) 11908 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to 11909 flag_openmp. 11910 (offload_symbol_decl): New variable. 11911 (oacc_get_reduction_array_id, oacc_max_threads) 11912 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction) 11913 (maybe_lookup_oacc_reduction, enclosing_target_ctx) 11914 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper) 11915 (oacc_gimple_assign, oacc_initialize_reduction_data) 11916 (oacc_finalize_reduction_data, oacc_process_reduction_data): New 11917 functions. 11918 (is_targetreg_ctx): Remove function. 11919 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_, 11920 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE, 11921 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, 11922 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT, 11923 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS, 11924 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH. 11925 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly. 11926 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR) 11927 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR) 11928 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR) 11929 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR) 11930 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros. 11931 * tree-core.h: Update comments for OpenACC changes. 11932 (enum omp_clause_map_kind): Remove. 11933 (struct tree_omp_clause): Change type of map_kind member from enum 11934 omp_clause_map_kind to unsigned char. 11935 * tree-inline.c: Update comments for OpenACC changes. 11936 * tree-nested.c: Likewise. Include "gomp-constants.h". 11937 (convert_nonlocal_reference_stmt, convert_local_reference_stmt) 11938 (convert_tramp_reference_stmt, convert_gimple_call): Update for 11939 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use 11940 OMP_CLAUSE_SET_MAP_KIND. 11941 * tree-pretty-print.c: Include "gomp-constants.h". 11942 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT, 11943 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG, 11944 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, 11945 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, 11946 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS, 11947 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_* 11948 instead of OMP_CLAUSE_MAP_*. 11949 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS, 11950 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, 11951 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP. 11952 * tree-streamer-in.c: Include "gomp-constants.h". 11953 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of 11954 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND. 11955 * tree-streamer-out.c: Include "gomp-constants.h". 11956 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of 11957 OMP_CLAUSE_MAP_*. 11958 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA) 11959 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE) 11960 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes. 11961 * tree.c (omp_clause_num_ops): Update accordingly. 11962 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE): 11963 Likewise. 11964 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY) 11965 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES) 11966 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES) 11967 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES) 11968 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES) 11969 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros. 11970 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind. 11971 (OMP_CLAUSE_SET_MAP_KIND): New macro. 11972 * varpool.c (varpool_node::get_create): Consider flag_openacc next 11973 to flag_openmp. 11974 * config/i386/intelmic-offload.h: New file. 11975 * config/nvptx/offload.h: Likewise. 11976 119772015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 11978 11979 * explow.h: Remove duplicate contents. 11980 * dojump.h: Likewise. 11981 119822015-01-15 Richard Earnshaw <rearnsha@arm.com> 11983 11984 * arm.c (arm_xgene_tune): Add default initializer for instruction 11985 fusion. 11986 119872015-01-15 Jan Hubicka <hubicka@ucw.cz> 11988 11989 PR ipa/64068 11990 PR ipa/64559 11991 * ipa.c (symbol_table::remove_unreachable_nodes): 11992 Do not put abstract origins into boundary. 11993 119942015-01-15 Evgeny Stupachenko <evstupac@gmail.com> 11995 11996 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage. 11997 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto. 11998 119992015-01-15 Steve Ellcey <sellcey@mips.com> 12000 12001 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h, 12002 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h, 12003 builtins.def, and chkp-builtins.def. 12004 120052015-01-15 David Edelsohn <dje.gcc@gmail.com> 12006 12007 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use 12008 ISA 2.7 (POWER8). 12009 120102015-01-15 Richard Biener <rguenther@suse.de> 12011 12012 PR tree-optimization/61743 12013 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range 12014 information on PHIs for some simple cases. 12015 120162015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com> 12017 12018 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list. 12019 Include xgene1.md. 12020 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1. 12021 * config/arm/arm-cores.def (xgene1): New entry. 12022 * config/arm/arm-tables.opt: Regenerate. 12023 * config/arm/arm-tune.md: Regenerate. 12024 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1. 12025 120262015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com> 12027 12028 * tree-if-conv.c: Include hash-map.h. 12029 (aggressive_if_conv): New variable. 12030 (fold_build_cond_expr): Add simplification of non-zero condition. 12031 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge 12032 destination block is not always executed. 12033 (if_convertible_phi_p): Fix commentary, allow phi nodes have more 12034 than two predecessors if AGGRESSIVE_IF_CONV is true. 12035 (if_convertible_stmt_p): Fix commentary. 12036 (all_preds_critical_p): New function. 12037 (has_pred_critical_p): New function. 12038 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true 12039 BB can have more than two predecessors and all incoming edges can be 12040 critical. 12041 (predicate_bbs): Skip predication for loop exit block, use build2_loc 12042 to compute predicate for true edge. 12043 (find_phi_replacement_condition): Delete this function. 12044 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED. 12045 Allow interchange PHI arguments if EXTENDED is false. 12046 Change check that block containing reduction statement candidate 12047 is predecessor of phi-block since phi may have more than two arguments. 12048 (phi_args_hash_traits): New helper structure. 12049 (struct phi_args_hash_traits): New type. 12050 (phi_args_hash_traits::hash): New function. 12051 (phi_args_hash_traits::equal_keys): New function. 12052 (gen_phi_arg_condition): New function. 12053 (predicate_scalar_phi): Add handling of phi nodes with more than two 12054 arguments, delete COND and TRUE_BB arguments, insert body of 12055 find_phi_replacement_condition to predicate ordinary phi nodes. 12056 (predicate_all_scalar_phis): Skip blocks with the only predecessor, 12057 delete call of find_phi_replacement_condition and invoke 12058 predicate_scalar_phi with two arguments. 12059 (insert_gimplified_predicates): Add assert that non-predicated block 12060 don't have statements to insert. 12061 (ifcvt_split_critical_edges): New function. 12062 (ifcvt_split_def_stmt): Likewise. 12063 (ifcvt_walk_pattern_tree): Likewise. 12064 (stmt_is_root_of_bool_pattern): Likewise. 12065 (ifcvt_repair_bool_pattern): Likewise. 12066 (ifcvt_local_dce): Likewise. 12067 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which 12068 is copy of inner or outer loop force_vectorize field, invoke 12069 ifcvt_split_critical_edges, ifcvt_local_dce and 12070 ifcvt_repair_bool_pattern for aggressive if-conversion. 12071 120722015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com> 12073 12074 * config/aarch64/aarch64.md: Include xgene1.md. 12075 * config/aarch64/xgene1.md: New file. 12076 120772015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com> 12078 12079 * config/aarch64/aarch64-cores.def (xgene1): Update/add the 12080 xgene1 (APM XGene-1) core definition. 12081 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1 12082 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1 12083 * doc/invoke.texi: Document -mcpu=xgene1. 12084 120852015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 12086 12087 * dojump.h: New header file. 12088 * explow.h: Likewise. 12089 * expr.h: Remove includes. 12090 Move expmed.c prototypes to expmed.h. 12091 Move dojump.c prototypes to dojump.h. 12092 Move alias.c prototypes to alias.h. 12093 Move explow.c prototypes to explow.h. 12094 Move calls.c prototypes to calls.h. 12095 Move emit-rtl.c prototypes to emit-rtl.h. 12096 Move varasm.c prototypes to varasm.h. 12097 Move stmt.c prototypes to stmt.h. 12098 (saved_pending_stack_adjust): Move to dojump.h. 12099 (adjust_address): Move to explow.h. 12100 (adjust_address_nv): Move to emit-rtl.h. 12101 (adjust_bitfield_address): Likewise. 12102 (adjust_bitfield_address_size): Likewise. 12103 (adjust_bitfield_address_nv): Likewise. 12104 (adjust_automodify_address_nv): Likewise. 12105 * explow.c (expr_size): Move to expr.c. 12106 (int_expr_size): Likewise. 12107 (tree_expr_size): Likewise. 12108 Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12109 fixed-value.h hashtab.h statistics.h stmt.h varasm.h. 12110 * genemit.c (main): Generate includes statistics.h, real.h, 12111 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h, 12112 stmt.h. 12113 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h, 12114 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, 12115 explow.h, emit-rtl.h, stmt.h. 12116 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h, 12117 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h. 12118 * genemit.c (open_base_files): Generate includes flags.h, statistics.h, 12119 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h, 12120 emit-rtl.h, varasm.h, stmt.h. 12121 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h, 12122 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, 12123 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h, 12124 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h, 12125 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h. 12126 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h 12127 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h 12128 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h 12129 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h 12130 tm.h tree.h varasm.h vec.h wide-int.h. 12131 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h 12132 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h 12133 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h 12134 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h. 12135 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h 12136 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h 12137 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h. 12138 * loop-iv.c: Likewise. 12139 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h 12140 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h 12141 statistics.h stmt.h tree.h varasm.h wide-int.h. 12142 * lra-constraints.c: Likewise. 12143 * lra-eliminations.c: Likewise. 12144 * lra-lives.c: Likewise. 12145 * lra-remat.c: Likewise. 12146 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h 12147 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h 12148 statistics.h stmt.h tree.h varasm.h wide-int.h. 12149 * hw-doloop.c: Likewise. 12150 * ira-color.c: Likewise. 12151 * ira-emit.c: Likewise. 12152 * loop-doloop.c: Likewise. 12153 * loop-invariant.c: Likewise. 12154 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h 12155 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h 12156 statistics.h stmt.h tree.h varasm.h wide-int.h. 12157 * caller-save.c: Include alias.h calls.h dojump.h double-int.h 12158 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h 12159 statistics.h stmt.h tree.h varasm.h wide-int.h. 12160 * combine-stack-adj.c: Likewise. 12161 * cse.c: Likewise. 12162 * ddg.c: Likewise. 12163 * ifcvt.c: Likewise. 12164 * ira-costs.c: Likewise. 12165 * jump.c: Likewise. 12166 * lra-coalesce.c: Likewise. 12167 * lra-spills.c: Likewise. 12168 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h 12169 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h 12170 stmt.h varasm.h wide-int.h. 12171 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h 12172 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h 12173 varasm.h. 12174 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h 12175 double-int.h explow.h expmed.h fixed-value.h flags.h real.h 12176 statistics.h stmt.h varasm.h wide-int.h. 12177 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h 12178 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h 12179 varasm.h wide-int.h. 12180 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h 12181 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. 12182 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h 12183 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h 12184 statistics.h stmt.h. 12185 * config/tilepro/tilepro.c: Likewise. 12186 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h 12187 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h. 12188 * config/pdp11/pdp11.c: Likewise. 12189 * config/xtensa/xtensa.c: Likewise. 12190 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h 12191 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h 12192 varasm.h. 12193 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12194 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h 12195 insn-config.h real.h rtl.h statistics.h stmt.h tm.h. 12196 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12197 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h 12198 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h. 12199 * rtl-chkp.c: Likewise. 12200 * tree-chkp-opt.c: Likewise. 12201 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h 12202 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h 12203 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h. 12204 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12205 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h 12206 statistics.h stmt.h. 12207 * tree-vect-data-refs.c: Likewise. 12208 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h 12209 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h 12210 rtl.h statistics.h stmt.h varasm.h. 12211 * internal-fn.c: Likewise. 12212 * ipa-icf-gimple.c: Likewise. 12213 * lto-section-out.c: Likewise. 12214 * tree-data-ref.c: Likewise. 12215 * tree-nested.c: Likewise. 12216 * tree-outof-ssa.c: Likewise. 12217 * tree-predcom.c: Likewise. 12218 * tree-pretty-print.c: Likewise. 12219 * tree-scalar-evolution.c: Likewise. 12220 * tree-ssa-strlen.c: Likewise. 12221 * tree-vect-loop.c: Likewise. 12222 * tree-vect-patterns.c: Likewise. 12223 * tree-vect-slp.c: Likewise. 12224 * tree-vect-stmts.c: Likewise. 12225 * tsan.c: Likewise. 12226 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12227 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h 12228 stmt.h. 12229 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h 12230 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h 12231 statistics.h stmt.h varasm.h. 12232 * loop-unroll.c: Likewise. 12233 * ubsan.c: Likewise. 12234 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h 12235 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h 12236 stmt.h varasm.h. 12237 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12238 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h. 12239 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h 12240 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h 12241 statistics.h stmt.h. 12242 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h 12243 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h 12244 statistics.h stmt.h varasm.h. 12245 * gimple-match-head.c: Likewise. 12246 * lto-cgraph.c: Likewise. 12247 * lto-section-in.c: Likewise. 12248 * lto-streamer-in.c: Likewise. 12249 * lto-streamer-out.c: Likewise. 12250 * tree-affine.c: Likewise. 12251 * tree-cfg.c: Likewise. 12252 * tree-cfgcleanup.c: Likewise. 12253 * tree-if-conv.c: Likewise. 12254 * tree-into-ssa.c: Likewise. 12255 * tree-ssa-alias.c: Likewise. 12256 * tree-ssa-copyrename.c: Likewise. 12257 * tree-ssa-dse.c: Likewise. 12258 * tree-ssa-forwprop.c: Likewise. 12259 * tree-ssa-live.c: Likewise. 12260 * tree-ssa-math-opts.c: Likewise. 12261 * tree-ssa-pre.c: Likewise. 12262 * tree-ssa-sccvn.c: Likewise. 12263 * tree-tailcall.c: Likewise. 12264 * tree-vect-generic.c: Likewise. 12265 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12266 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h. 12267 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12268 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h. 12269 * varasm.c: Likewise. 12270 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12271 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h 12272 varasm.h. 12273 * init-regs.c: Likewise. 12274 * ira.c: Likewise. 12275 * omp-low.c: Likewise. 12276 * stack-ptr-mod.c: Likewise. 12277 * tree-ssa-reassoc.c: Likewise. 12278 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12279 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h 12280 varasm.h. 12281 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12282 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h. 12283 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12284 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h. 12285 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12286 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h. 12287 * tree-ssa-phiopt.c: Likewise. 12288 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12289 fixed-value.h hashtab.h real.h statistics.h stmt.h. 12290 * config/fr30/fr30.c: Likewise. 12291 * config/frv/frv.c: Likewise. 12292 * expr.c: Likewise. 12293 * final.c: Likewise. 12294 * optabs.c: Likewise. 12295 * passes.c: Likewise. 12296 * simplify-rtx.c: Likewise. 12297 * stmt.c: Likewise. 12298 * toplev.c: Likewise. 12299 * var-tracking.c: Likewise. 12300 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12301 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. 12302 * lower-subreg.c: Likewise. 12303 * postreload-gcse.c: Likewise. 12304 * ree.c: Likewise. 12305 * reginfo.c: Likewise. 12306 * store-motion.c: Likewise. 12307 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12308 fixed-value.h hashtab.h real.h stmt.h varasm.h. 12309 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12310 fixed-value.h hashtab.h statistics.h stmt.h. 12311 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12312 fixed-value.h hashtab.h statistics.h stmt.h varasm.h. 12313 * except.c: Likewise. 12314 * explow.c: Likewise. 12315 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12316 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h 12317 varasm.h. 12318 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12319 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h. 12320 * tree-ssa-structalias.c: Likewise. 12321 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12322 fixed-value.h insn-config.h real.h statistics.h. 12323 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12324 fixed-value.h insn-config.h real.h statistics.h stmt.h. 12325 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12326 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h. 12327 * cfgbuild.c: Likewise. 12328 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12329 fixed-value.h real.h rtl.h statistics.h stmt.h. 12330 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12331 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. 12332 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12333 fixed-value.h real.h statistics.h stmt.h. 12334 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h 12335 fixed-value.h real.h statistics.h stmt.h varasm.h. 12336 * cprop.c: Likewise. 12337 * modulo-sched.c: Likewise. 12338 * postreload.c: Likewise. 12339 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h 12340 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h 12341 statistics.h stmt.h varasm.h. 12342 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h 12343 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h 12344 rtl.h statistics.h stmt.h varasm.h. 12345 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h 12346 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h 12347 varasm.h. 12348 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h 12349 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h 12350 varasm.h. 12351 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h 12352 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h 12353 varasm.h. 12354 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h 12355 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. 12356 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h 12357 function.h real.h statistics.h stmt.h varasm.h. 12358 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h 12359 insn-config.h real.h statistics.h stmt.h. 12360 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h 12361 statistics.h stmt.h. 12362 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h 12363 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h 12364 statistics.h stmt.h varasm.h. 12365 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h 12366 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h. 12367 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h 12368 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h. 12369 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h 12370 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h 12371 statistics.h stmt.h varasm.h. 12372 * ipa-polymorphic-call.c: Likewise. 12373 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h 12374 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h 12375 statistics.h stmt.h. 12376 * config/c6x/c6x.c: Likewise. 12377 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h 12378 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h 12379 statistics.h stmt.h varasm.h. 12380 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h 12381 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h 12382 stmt.h varasm.h. 12383 * ipa-split.c: Likewise. 12384 * tree-eh.c: Likewise. 12385 * tree-ssa-dce.c: Likewise. 12386 * tree-ssa-loop-niter.c: Likewise. 12387 * tree-vrp.c: Likewise. 12388 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h 12389 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h 12390 stmt.h. 12391 * config/nds32/nds32-fp-as-gp.c: Likewise. 12392 * config/nds32/nds32-intrinsic.c: Likewise. 12393 * config/nds32/nds32-isr.c: Likewise. 12394 * config/nds32/nds32-md-auxiliary.c: Likewise. 12395 * config/nds32/nds32-memory-manipulation.c: Likewise. 12396 * config/nds32/nds32-pipelines-auxiliary.c: Likewise. 12397 * config/nds32/nds32-predicates.c: Likewise. 12398 * config/nds32/nds32.c: Likewise. 12399 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h 12400 fixed-value.h hashtab.h real.h statistics.h. 12401 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h 12402 fixed-value.h hashtab.h real.h statistics.h stmt.h. 12403 * config/arm/arm.c: Likewise. 12404 * config/avr/avr.c: Likewise. 12405 * config/bfin/bfin.c: Likewise. 12406 * config/h8300/h8300.c: Likewise. 12407 * config/i386/i386.c: Likewise. 12408 * config/ia64/ia64.c: Likewise. 12409 * config/iq2000/iq2000.c: Likewise. 12410 * config/m32c/m32c.c: Likewise. 12411 * config/m32r/m32r.c: Likewise. 12412 * config/m68k/m68k.c: Likewise. 12413 * config/mcore/mcore.c: Likewise. 12414 * config/mep/mep.c: Likewise. 12415 * config/mips/mips.c: Likewise. 12416 * config/mn10300/mn10300.c: Likewise. 12417 * config/moxie/moxie.c: Likewise. 12418 * config/pa/pa.c: Likewise. 12419 * config/rl78/rl78.c: Likewise. 12420 * config/rx/rx.c: Likewise. 12421 * config/s390/s390.c: Likewise. 12422 * config/sh/sh.c: Likewise. 12423 * config/sparc/sparc.c: Likewise. 12424 * config/spu/spu.c: Likewise. 12425 * config/stormy16/stormy16.c: Likewise. 12426 * config/v850/v850.c: Likewise. 12427 * config/vax/vax.c: Likewise. 12428 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h 12429 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. 12430 * config/msp430/msp430.c: Likewise. 12431 * predict.c: Likewise. 12432 * value-prof.c: Likewise. 12433 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h 12434 expmed.h fixed-value.h hashtab.h statistics.h stmt.h. 12435 * config/microblaze/microblaze.c: Likewise. 12436 * config/nios2/nios2.c: Likewise. 12437 * config/rs6000/rs6000.c: Likewise. 12438 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h 12439 insn-config.h real.h rtl.h statistics.h stmt.h. 12440 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h 12441 insn-config.h real.h statistics.h stmt.h. 12442 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h 12443 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h. 12444 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h 12445 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. 12446 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h 12447 fixed-value.h real.h statistics.h stmt.h. 12448 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h 12449 fixed-value.h statistics.h stmt.h. 12450 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h 12451 stmt.h. 12452 124532015-01-15 Jakub Jelinek <jakub@redhat.com> 12454 12455 * gengtype.c (create_user_defined_type): Workaround 12456 -Wmaybe-uninitialized false positives. 12457 * cse.c (fold_rtx): Likewise. 12458 * loop-invariant.c (gain_for_invariant): Likewise. 12459 124602015-01-15 Eric Botcazou <ebotcazou@adacore.com> 12461 12462 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to 12463 set the memory attributes in all cases but clear MEM_EXPR if need be. 12464 124652015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com> 12466 12467 PR tree-optimization/64434 12468 * cfgexpand.c (reorder_operands): New function. 12469 (expand_gimple_basic_block): Insert call of reorder_operands if 12470 optimized is true. 12471 124722015-01-15 Matthew Fortune <matthew.fortune@imgtec.com> 12473 12474 * config/mips/micromips.md (*swp): Remove explicit parallel. 12475 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise. 12476 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise. 12477 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise. 12478 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise. 12479 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise. 12480 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise. 12481 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise. 12482 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise. 12483 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise. 12484 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise. 12485 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise. 12486 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise. 12487 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise. 12488 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise. 12489 (mips_wrdsp): Likewise. 12490 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit 12491 parallel. 12492 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise. 12493 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise. 12494 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise. 12495 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise. 12496 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise. 12497 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise. 12498 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel. 12499 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise. 12500 (ssmaddsqdq4, ssmsubsqdq4): Likewise. 12501 125022015-01-14 Matthew Fortune <matthew.fortune@imgtec.com> 12503 12504 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA. 12505 (mips_print_operand): Support 'y' to print exact log2 in decimal 12506 of a const_int. 12507 * config/mips/mips.h (ISA_HAS_LSA): New define. 12508 (ISA_HAS_DLSA): Likewise. 12509 * config/mips/mips.md (<GPR:d>lsa): New define_insn. 12510 * config/mips/predicates.md (const_immlsa_operand): New predicate. 12511 125122015-01-15 Martin Liska <mliska@suse.cz> 12513 12514 PR target/64377 12515 * optc-save-gen.awk: Add support for array types. 12516 125172015-01-15 Richard Biener <rguenther@suse.de> 12518 12519 PR middle-end/64365 12520 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses 12521 for MEM_REF access functions with the same base can never partially 12522 overlap. 12523 125242015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com> 12525 12526 * common.opt: New option -fstack-protector-explicit. 12527 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum. 12528 (stack_protect_decl_phase): Handle stack_protect attribute for 12529 explicit stack protection requests. 12530 (expand_used_vars): Similarly. 12531 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro. 12532 * doc/extend.texi: Add documentation for "stack_protect" attribute. 12533 * doc/invoke.texi: Add documentation for -fstack-protector-explicit. 12534 125352015-01-14 Oleg Endo <olegendo@gcc.gnu.org> 12536 12537 PR target/53988 12538 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore 12539 reg-reg copies. 12540 (sh_extending_set_of_reg): New struct. 12541 (sh_find_extending_set_of_reg, sh_split_tst_subregs, 12542 sh_remove_reg_dead_or_unused_notes): New Declarations. 12543 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes, 12544 sh_find_extending_set_of_reg, sh_split_tst_subregs, 12545 sh_extending_set_of_reg::use_as_extended_reg): New functions. 12546 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs, 12547 convert to insn_and_split and use new function sh_split_tst_subregs. 12548 125492015-01-14 Sandra Loosemore <sandra@codesourcery.com> 12550 12551 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker 12552 option. 12553 (Optimization Options): Move -fuse-ld documentation to... 12554 (Link Options): ...here. 12555 125562015-01-14 Matthew Fortune <matthew.fortune@imgtec.com> 12557 12558 * config/mips/constraints.md (ZC): Add support for R6 LL/SC 12559 offsets. 12560 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT. 12561 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to... 12562 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro. 12563 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC 12564 instead of ZR for the memory operand of LL/SC. 12565 (compare_and_swap_12, sync_add<mode>): Likewise. 12566 (sync_<optab>_12, sync_old_<optab>_12): Likewise. 12567 (sync_new_<optab>_12, sync_nand_12): Likewise. 12568 (sync_old_nand_12, sync_new_nand_12): Likewise. 12569 (sync_sub<mode>, sync_old_add<mode>): Likewise. 12570 (sync_old_sub<mode>, sync_new_add<mode>): Likewise. 12571 (sync_new_sub<mode>, sync_<optab><mode>): Likewise. 12572 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise. 12573 (sync_nand<mode>, sync_old_nand<mode>): Likewise. 12574 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise. 12575 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise. 12576 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise. 12577 * doc/md.texi (ZC): Update description. 12578 125792015-01-14 Andrew MacLeod <amacleod@redhat.com> 12580 12581 * builtins.c (expand_builtin_atomic_exchange): Remove error when 12582 memory model is CONSUME. 12583 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load, 12584 expand_builtin_atomic_store): Change invalid memory model errors to 12585 warnings. 12586 (expand_builtin_atomic_clear): Change invalid model errors to warnings 12587 and issue warning for CONSUME. 12588 125892015-01-14 Aldy Hernandez <aldyh@redhat.com> 12590 12591 * lto-cgraph: Update function comments for 12592 lto_symtab_encoder_encode_*. 12593 125942015-01-14 Ilya Verbin <ilya.verbin@intel.com> 12595 12596 * Makefile.in (site.exp): Do not set ENABLE_LTO. 12597 125982015-01-14 Ilya Verbin <ilya.verbin@intel.com> 12599 12600 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries. 12601 * lto-cgraph.c (select_what_to_stream): Remove argument, use 12602 lto_stream_offload_p instead. 12603 * lto-streamer.h (select_what_to_stream): Remove argument. 12604 * passes.c (ipa_write_summaries): Likewise. 12605 * tree-pass.h (ipa_write_summaries): Likewise. 12606 126072015-01-14 Richard Biener <rguenther@suse.de> 12608 12609 PR tree-optimization/59354 12610 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from 12611 groups larger than the slp group size as having gaps. 12612 126132015-01-14 Andrew MacLeod <amacleod@redhat.com> 12614 12615 PR middle-end/59448 12616 * builtins.c (get_memmodel): Promote consume to acquire always. 12617 126182015-01-14 Ilya Tocar <ilya.tocar@intel.com> 12619 12620 PR target/64386 12621 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode, 12622 V32HImode. 12623 126242015-01-14 Ilya Tocar <ilya.tocar@intel.com> 12625 12626 PR target/64393 12627 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET): 12628 Enable AVX512BW. 12629 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI. 12630 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check 12631 AVX512VBMI, as it implies AVX512BW. 12632 126332015-01-14 Ilya Tocar <ilya.tocar@intel.com> 12634 12635 PR target/64387 12636 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate. 12637 (vec_unpacks_hi_v16sf): Ditto. 12638 126392015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 12640 12641 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD 12642 is not available. 12643 126442015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 12645 12646 * doc/invoke.texi (mapcs): Mention deprecation. 12647 (mapcs-frame): Likewise. 12648 126492015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com> 12650 12651 PR target/64453 12652 * config/arm/arm.c (callee_saved_reg_p): Define. 12653 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if 12654 register is callee saved instead of !call_used_regs[reg]. 12655 (thumb1_compute_save_reg_mask): Likewise. 12656 126572015-01-14 Hale Wang <hale.wang@arm.com> 12658 12659 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for 12660 Cortex-M7. 12661 126622015-01-14 Richard Biener <rguenther@suse.de> 12663 12664 PR lto/64415 12665 * tree-inline.c (insert_debug_decl_map): Check destination 12666 function MAY_HAVE_DEBUG_STMTS. 12667 (insert_init_debug_bind): Likewise. 12668 (insert_init_stmt): Remove redundant check. 12669 (remap_gimple_stmt): Drop debug stmts if the destination 12670 function has var-tracking assignments disabled. 12671 126722015-01-14 Martin Liska <mliska@suse.cz> 12673 12674 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for 12675 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison. 12676 126772015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 12678 12679 PR target/64460 12680 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2. 12681 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3. 12682 126832015-01-14 Matthew Fortune <matthew.fortune@imgtec.com> 12684 12685 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA 12686 level from an ARCH; do not inject the default. 12687 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from 12688 MIPS_ISA_LEVEL_SPEC. 12689 (MIPS_ISA_NAN2008_SPEC): Update comment. 12690 (BASE_DRIVER_SELF_SPECS): Likewise. 12691 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add 12692 MIPS_DEFAULT_ISA_LEVEL_SPEC. 12693 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise. 12694 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise. 12695 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise. 12696 126972015-01-14 Richard Biener <rguenther@suse.de> 12698 12699 PR tree-optimization/64493 12700 PR tree-optimization/64495 12701 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions 12702 assign the proper vectorized PHI to the inner loop exit PHIs. 12703 127042015-01-14 Joey Ye <joey.ye@arm.com> 12705 12706 * config/arm/arm.c (arm_compute_save_reg_mask): 12707 Do not save lr in case of tail call. 12708 * config/arm/thumb2.md (*thumb2_pop_single): New pattern. 12709 127102015-01-14 Martin Uecker <uecker@eecs.berkeley.edu> 12711 12712 * tree-vrp.c (check_array_ref): Emit more warnings 12713 for warn_array_bounds >= 2. 12714 * common.opt: New option -Warray-bounds=. 12715 * doc/invoke.texi: Document -Warray-bounds=. 12716 127172015-01-14 Chung-Ju Wu <jasonwucj@gmail.com> 12718 12719 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove. 12720 (mforbid-fp-as-gp): Remove. 12721 (mex9): Remove. 12722 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove. 12723 (nds32_symbol_load_store_p): Remove. 12724 (nds32_fp_as_gp_check_available): Clean up implementation. 12725 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9 12726 cases. 12727 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider 12728 fp-as-gp and ex9 cases. 12729 127302015-01-13 Jan Hubicka <hubicka@ucw.cz> 12731 12732 * tree-profile.c (init_ic_make_global_vars): Drop workaround 12733 for bintuils bug 14342. 12734 (init_ic_make_global_vars): Likewise. 12735 (gimple_init_edge_profiler): Likewise. 12736 (gimple_gen_ic_func_profiler): Likewise. 12737 127382015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> 12739 12740 * ipa-inline.c (inline_small_functions): Swap the operands in 12741 enum. 12742 127432015-01-13 Jan Hubicka <hubicka@ucw.cz> 12744 12745 PR ipa/64481 12746 * ipa-inline-analysis.c (node_growth_cache): Remove. 12747 (initialize_growth_caches): Do not initialize it. 12748 (free_growth_caches): Do not free it. 12749 (do_estimate_growth): Rename to ... 12750 (estimate_growth): ... this one; drop growth cache code. 12751 (growth_likely_positive): Always go the heuristics way. 12752 * ipa-inline.c (can_inline_edge_p): Walk through aliases. 12753 (reset_edge_caches): Do not reset node growth. 12754 (heap_edge_removal_hook): Do not maintain cache. 12755 (inline_small_functions): Likewise; strenghten sanity check. 12756 (ipa_inline): Do not maintain caches. 12757 * ipa-inline.h (node_growth_cache): Remove. 12758 (do_estimate_growth): Remove to ... 12759 (estimate_growth): this one; remove inline version. 12760 (reset_node_growth_cache): Remove. 12761 127622015-01-13 Jan Hubicka <hubicka@ucw.cz> 12763 12764 PR ipa/64565 12765 * ipa-inline.c (inline_small_functions): Update callee keys after 12766 resolving speculation 12767 (inline_small_functions): Always check monotonicity of the queue. 12768 127692015-01-13 Marek Polacek <polacek@redhat.com> 12770 12771 PR middle-end/64391 12772 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE. 12773 127742015-01-13 Jakub Jelinek <jakub@redhat.com> 12775 12776 PR rtl-optimization/64286 12777 * ree.c (combine_reaching_defs): Move part of comment earlier, 12778 remove !SCALAR_INT_MODE_P check. 12779 (add_removable_extension): Don't add vector mode 12780 extensions if all uses of the source register aren't the same 12781 vector extensions. 12782 127832015-01-13 Renlin Li <renlin.li@arm.com> 12784 12785 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2. 12786 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto. 12787 127882015-01-13 Martin Liska <mliska@suse.cz> 12789 12790 * ipa-icf.c (sem_function::equals_private): Call new functions 12791 cl_target_option_print_diff and cl_optimization_print_diff. 12792 * optc-save-gen.awk (cl_target_option_print_diff): New function. 12793 (cl_optimization_print_diff): Likewise. 12794 * opth-gen.awk: Likewise. 12795 127962015-01-13 Richard Sandiford <richard.sandiford@arm.com> 12797 12798 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3) 12799 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw) 12800 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>) 12801 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2) 12802 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2) 12803 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources. 12804 128052015-01-13 Andrew Pinski <apinski@cavium.com> 12806 12807 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode 12808 instead of src mode. 12809 128102015-01-13 Richard Biener <rguenther@suse.de> 12811 12812 PR lto/64373 12813 * lto-streamer-out.c (tree_is_indexable): Guard for NULL 12814 DECL_CONTEXT. 12815 128162015-01-13 Andrew Pinski <apinski@cavium.com> 12817 12818 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject 12819 volatile mems. 12820 (aarch64_operands_adjust_ok_for_ldpstp): Likewise. 12821 128222015-01-13 Jakub Jelinek <jakub@redhat.com> 12823 12824 PR middle-end/63974 12825 * cfgexpand.c (expand_computed_goto): Don't call 12826 convert_memory_address here. 12827 128282015-01-13 Richard Biener <rguenther@suse.de> 12829 12830 PR tree-optimization/64406 12831 * tree-loop-distibution.c (pass_loop_distribution::execute): 12832 Reset the SCEV hashtable if we distributed anything. 12833 128342015-01-13 Richard Biener <rguenther@suse.de> 12835 12836 PR tree-optimization/64404 12837 * tree-vect-stmts.c (vectorizable_load): Reject conflicting 12838 SLP types for CSEd loads. 12839 128402015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com> 12841 12842 PR tree-optimization/64436 12843 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the 12844 merge of two symbolic numbers for a bitwise OR to ... 12845 (perform_symbolic_merge): This. Also fix computation of the range and 12846 end of the symbolic number corresponding to the result of a bitwise OR. 12847 128482015-01-13 Richard Biener <rguenther@suse.de> 12849 12850 PR tree-optimization/64568 12851 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly 12852 release defs of removed stmts, avoid splitting TARGET_MEM_REFs. 12853 128542015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> 12855 12856 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider 12857 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases. 12858 128592015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> 12860 12861 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own 12862 target-specific symbol_ref flag. 12863 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref 12864 resides in rodata section. 12865 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define. 12866 (nds32_encode_section_info): New function. 12867 128682015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> 12869 12870 * config/nds32/nds32.md (call): Use pseudo instruction bal which 12871 clobbers TA_REGNUM if large code model is specified. 12872 (call_register): Likewise. 12873 (call_immediate): Likewise. 12874 (call_value): Likewise. 12875 (call_value_register): Likewise. 12876 (call_value_immediate): Likewise. 12877 128782015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> 12879 12880 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro. 12881 (TARGET_CMODEL_MEDIUM): New macro. 12882 (TARGET_CMODEL_LARGE): New macro. 12883 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding 12884 code model setting in assembly code. 12885 128862015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> 12887 12888 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS): 12889 Remove MASK_GP_DIRECT flag. 12890 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as 12891 one of the multilib default options. 12892 * config/nds32/nds32.opt (mgp-direct): Remove. 12893 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of 12894 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian. 12895 128962015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> 12897 12898 * config/nds32/nds32.opt (mcmodel): Add new option. 12899 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type 12900 to describe code model. 12901 129022015-01-13 Oleg Endo <olegendo@gcc.gnu.org> 12903 12904 PR target/64479 12905 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs. 12906 129072015-01-12 Kaz Kojima <kkojima@gcc.gnu.org> 12908 12909 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function. 12910 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define. 12911 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables. 12912 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and 12913 __builtin_sh_set_fpscr. 12914 129152015-01-12 Sandra Loosemore <sandra@codesourcery.com> 12916 12917 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses 12918 after a funtion name just to indicate it is a function. 12919 ([-fsanitize-undefined-trap-on-error]): Likewise. 12920 ([-fdbg-cnt=]): Likewise. 12921 ([-mmemcpy]): Likewise. 12922 ([-mflush-func]): Likewise. 12923 ([-msynci]): Likewise. 12924 129252015-01-12 Sandra Loosemore <sandra@codesourcery.com> 12926 12927 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing 12928 example. 12929 129302015-01-12 Jakub Jelinek <jakub@redhat.com> 12931 12932 PR tree-optimization/64563 12933 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE 12934 instead of != VR_VARYING. 12935 12936 PR target/64513 12937 * config/i386/i386.c (ix86_expand_prologue): Add 12938 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes. 12939 12940 PR tree-optimization/64454 12941 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize 12942 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1] 12943 for signed or [0, op1 - 1] for unsigned modulo. 12944 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges 12945 even if op1 does not satisfy integer_pow2p. 12946 12947 PR other/64370 12948 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl. 12949 129502015-01-12 Jeff Law <law@redhat.com> 12951 12952 PR target/64461 12953 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE. 12954 (trunchiqi2, truncsihi2): Similarly. 12955 12956 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly 12957 rather than calling F. 12958 129592015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de> 12960 12961 * tsan.c (instrument_expr): Use force_gimple_operand. 12962 Use may_be_nonaddressable_p instead of is_gimple_addressable. 12963 129642015-01-12 Richard Biener <rguenther@suse.de> 12965 12966 PR tree-optimization/64530 12967 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle 12968 back dr1. 12969 129702015-01-12 Richard Biener <rguenther@suse.de> 12971 12972 PR middle-end/64357 12973 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple 12974 latches properly. 12975 129762015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 12977 12978 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match 12979 Cortex-A17 tuning parameters. 12980 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17. 12981 129822015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 12983 12984 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field. 12985 * config/arm/arm.c (arm_macro_fusion_p): New function. 12986 (arm_macro_fusion_pair_p): Likewise. 12987 (TARGET_SCHED_MACRO_FUSION_P): Define. 12988 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise. 12989 (ARM_FUSE_NOTHING): Likewise. 12990 (ARM_FUSE_MOVW_MOVT): Likewise. 12991 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune, 12992 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune, 12993 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune, 12994 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune, 12995 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune 12996 arm_cortex_a5_tune): Specify fuseable_ops value. 12997 129982015-01-12 H.J. Lu <hongjiu.lu@intel.com> 12999 13000 PR bootstrap/64561 13001 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker 13002 test for PIE with copy reloc. 13003 * configure: Regenerated. 13004 130052015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 13006 13007 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0 13008 in gen_rtx_REG. 13009 (arm_tls_descseq_addr): Likewise. 13010 (arm_gen_movmemqi): Likewise. 13011 (arm_expand_epilogue_apcs_frame): Likewise. 13012 (arm_expand_epilogue): Likewise. 13013 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1 13014 in gen_rtx_REG. 13015 130162015-01-12 Martin Liska <mliska@suse.cz> 13017 13018 PR ipa/64550 13019 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare 13020 volatility for correct operands. 13021 130222015-01-12 Martin Liska <mliska@suse.cz> 13023 13024 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication 13025 that a function is not leaf. 13026 (sem_function::compare_polymorphic_p): Likewise. 13027 130282015-01-12 Martin Liska <mliska@suse.cz> 13029 13030 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication 13031 that a function is not leaf. 13032 (sem_function::compare_polymorphic_p): Likewise. 13033 130342015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 13035 13036 * config/visium/visium.c: Add includes hashtab.h, hash-set.h, 13037 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h, 13038 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h, 13039 fold-const.h, tree-check.h. 13040 130412015-01-12 Jan Hubicka <hubicka@ucw.cz> 13042 13043 PR ipa/63967 13044 PR ipa/64425 13045 * ipa-inline.c (compute_uninlined_call_time, 13046 compute_inlined_call_time): Use counts for extra precision when 13047 needed possible. 13048 (big_speedup_p): Fix formating. 13049 (RELATIVE_TIME_BENEFIT_RANGE): Remove. 13050 (relative_time_benefit): Remove. 13051 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint; 13052 merge guessed and read profile paths. 13053 (inline_small_functions): Count only !optimize_size functions into 13054 initial size; be more lax about sanity check when profile is used; 13055 be sure to update inlined function profile when profile is read. 13056 130572015-01-12 Jan Hubicka <hubicka@ucw.cz> 13058 13059 PR ipa/63470 13060 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust 13061 cost when edge becomes direct. 13062 * ipa-prop.c (make_edge_direct): Do not adjust when speculation 13063 is resolved or when introducing new speculation. 13064 130652015-01-12 Chen Gang <gang.chen.5i5j@gmail.com> 13066 13067 PR ipa/64551 13068 PR ipa/64552 13069 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of 13070 '||' to fix typo issue. 13071 13072 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can 13073 accept and return NULL. 13074 130752015-01-12 Martin Liska <mliska@suse.cz> 13076 13077 * cgraph.c (cgraph_edge::remove_callee): Move function to header 13078 file for being inlined. 13079 (cgraph_set_edge_callee): Delete. 13080 (cgraph_edge::redirect_callee): Move function to header file 13081 for being inlined. 13082 (cgraph_edge::make_direct): Use new function. 13083 (cgraph_edge::dump_edge_flags): New function created from 13084 static dump_edge_flags function. 13085 (cgraph_node::dump): Use new function. 13086 (cgraph_edge::verify_count_and_frequency): New function created 13087 from verify_edge_count_and_frequency. 13088 (cgraph_edge::verify_corresponds_to_fndecl): New function created 13089 from verify_edge_corresponds_to_fndecl. 13090 (verify_edge_corresponds_to_fndecl): Delete. 13091 (cgraph_node::verify_node): Use new function. 13092 * cgraph.h (cgraph_edge::set_callee): New function. 13093 (cgraph_edge::dump_edge_flags): Likewise. 13094 (cgraph_edge::verify_corresponds_to_fndecl): Likewise. 13095 130962015-01-11 Jan Hubicka <hubicka@ucw.cz> 13097 13098 * ipa-utils.c (estimate_function_body_sizes): Do not 13099 free node params when called late with early=true. 13100 131012015-01-11 James Greenhalgh <james.greenhalgh@arm.com> 13102 13103 * doc/md.texi (Instruction Patterns): Rewrite text for 13104 clarity. 13105 (Example): Likewise. 13106 131072015-01-10 Sandra Loosemore <sandra@codesourcery.com> 13108 13109 * doc/invoke.texi (Option Summary): Break long lines. 13110 [(-fdiagnostics-color)]: Put long literal in @smallexample 13111 instead of inline. 13112 [(-fsanitize-recover)]: Likewise. 13113 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox. 13114 [(-ffast-math)]: Likewise. 13115 [(--param max-inline-insns-recursive)]: Likewise. 13116 [(--param max-inline-recursive-depth)]: Likewise. 13117 [(-mno-text-section-literals)]: Likewise. 13118 131192015-01-10 Thomas Schwinge <thomas@codesourcery.com> 13120 13121 * doc/install.texi: Update for libgomp being renamed from "GNU 13122 OpenMP Runtime Library" to "GNU Offloading and Multi Processing 13123 Runtime Library". 13124 * doc/sourcebuild.texi: Likewise. 13125 131262015-01-10 Anthony Green <green@moxielogic.com> 13127 13128 * config/moxie/moxie.c (moxie_option_override): Fix forcing of 13129 mul.x availability for moxiebox configuration. 13130 131312015-01-09 Anthony Green <green@moxielogic.com> 13132 13133 * config/moxie/moxie.md: Tabify assembly output. 13134 131352015-01-09 Anthony Green <green@moxielogic.com> 13136 13137 * config/moxie/moxie.md (CC_REG): Correct register definition. 13138 131392015-01-09 Sandra Loosemore <sandra@codesourcery.com> 13140 13141 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup. 13142 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location 13143 of log files. 13144 131452015-01-09 Andreas Tobler <andreast@gcc.gnu.org> 13146 13147 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon. 13148 131492015-01-09 Bernd Schmidt <bernds@codesourcery.com> 13150 Jakub Jelinek <jakub@redhat.com> 13151 13152 PR middle-end/64412 13153 * lto-streamer.h (lto_stream_offload_p): New declaration. 13154 * lto-streamer.c (lto_stream_offload_p): New variable. 13155 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p 13156 at the same time as section_name_prefix. 13157 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION 13158 if lto_stream_offload_p. 13159 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't 13160 stream TREE_TARGET_OPTION if lto_stream_offload_p. 13161 (write_ts_function_decl_tree_pointers): Don't 13162 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p. 13163 * tree-streamer-in.c (unpack_value_fields): Don't stream 13164 TREE_TARGET_OPTION in if ACCEL_COMPILER. 13165 (lto_input_ts_function_decl_tree_pointers): Don't stream 13166 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER. 13167 * lto-opts.c (lto_write_options): Use lto_stream_offload_p 13168 instead of section_name_prefix string comparisons. 13169 131702015-01-09 Jakub Jelinek <jakub@redhat.com> 13171 13172 PR rtl-optimization/64536 13173 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate 13174 tablejumps. 13175 131762015-01-09 Michael Collison <michael.collison@linaro.org> 13177 13178 PR tree-optimization/64322 13179 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive 13180 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic. 13181 131822015-01-09 Tom de Vries <tom@codesourcery.com> 13183 13184 PR rtl-optimization/64539 13185 * regcprop.c (kill_clobbered_values): Factor out of ... 13186 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values 13187 instead of note_stores with kill_clobbered_value. 13188 131892015-01-09 Andreas Tobler <andreast@gcc.gnu.org> 13190 13191 * ginclude/unwind-arm-common.h: Revert previous commit. 13192 131932015-01-09 Andreas Tobler <andreast@gcc.gnu.org> 13194 13195 * config.gcc (arm*-*-freebsd*): New configuration. 13196 * config/arm/freebsd.h: New file. 13197 * config.host: Add extra components for arm*-*-freebsd*. 13198 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE. 13199 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE. 13200 132012015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 13202 13203 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__ 13204 for -mcpu=e6500. 13205 * config/rs6000/t-rtems: Add e6500 multilibs. 13206 132072015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 13208 13209 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for 13210 MPC8540. 13211 132122015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 13213 13214 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of 13215 MULTILIB_EXCEPTIONS. 13216 132172015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 13218 13219 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of 13220 MULTILIB_EXCEPTIONS. 13221 132222015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> 13223 13224 * config/arm/t-rtems-eabi: Rename to... 13225 * config/arm/t-rtems: ...this. 13226 * config/arm/rtems-eabi.h: Rename to... 13227 * config/arm/rtems.h: ...this. 13228 * config.gcc (arm*-*-rtems*): Reflect changes above. 13229 132302015-01-09 Richard Biener <rguenther@suse.de> 13231 13232 PR tree-optimization/64410 13233 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR 13234 on the LHS. 13235 (execute_update_addresses_taken): Deal with that. 13236 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise 13237 loads/stores for complex variables. 13238 132392015-01-09 Martin Liska <mliska@suse.cz> 13240 13241 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA 13242 name comparison. 13243 (func_checker::compare_memory_operand): New function. 13244 (func_checker::compare_operand): Split case to newly 13245 added functions. 13246 (func_checker::compare_cst_or_decl): New function. 13247 (func_checker::compare_gimple_call): Identify 13248 memory operands. 13249 (func_checker::compare_gimple_assign): Likewise. 13250 * ipa-icf-gimple.h: New function. 13251 132522015-01-09 Martin Liska <mliska@suse.cz> 13253 13254 PR ipa/64503 13255 * sreal.c (sreal::dump): Change unsigned format to signed for 13256 m_exp value. 13257 (sreal::to_double): Replace exp2 with scalbln. 13258 132592015-01-09 Martin Liska <mliska@suse.cz> 13260 13261 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation. 13262 * ipa-icf.c (sem_function::equals_private): Add support for target and 13263 (sem_item_optimizer::merge_classes): Remove redundant function 13264 optimization flags comparison. 13265 * tree.h (target_opts_for_fn): New function. 13266 132672015-01-09 Tom de Vries <tom@codesourcery.com> 13268 13269 * omp-low.c (expand_omp_for_static_chunk): Fix assert. 13270 132712015-01-09 Kito Cheng <kito@0xlab.org> 13272 13273 PR rtl-optimization/64348 13274 * lra-constraints.c (split_reg): Fix caller-save store/restore 13275 instruction generation. 13276 132772015-01-08 John David Anglin <danglin@gcc.gnu.org> 13278 13279 PR gcov-profile/61790 13280 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has 13281 long long. Fallback to int64_t if host doesn't have long long and 13282 use strtol if int64_t is long. Otherwise, use sscanf for conversion. 13283 132842015-01-08 Jakub Jelinek <jakub@redhat.com> 13285 13286 PR tree-optimization/63989 13287 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default 13288 from 1000 to 10000. 13289 * tree-ssa-strlen.c (get_strinfo): Moved earlier. 13290 (get_stridx): If we don't have a record for certain SSA_NAME, 13291 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with 13292 constant offset, call get_stridx_plus_constant. 13293 (get_stridx_plus_constant): New function. 13294 (zero_length_string): Don't use get_stridx here. 13295 13296 PR target/55023 13297 PR middle-end/64388 13298 * dse.c (struct insn_info): Mention frame_read set also 13299 before reload for tail calls on some targets. 13300 (scan_insn): Revert 2014-12-22 change. Set frame_read 13301 also before reload for tail calls if 13302 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read 13303 instead of add_non_frame_wild_read for non-const/memset 13304 tail calls after reload. 13305 133062015-01-08 Jason Merrill <jason@redhat.com> 13307 13308 * ubsan.c (do_ubsan_in_current_function): New. 13309 (pass_ubsan::gate): Use it. 13310 * ubsan.h: Declare it. 13311 * convert.c (convert_to_integer): Use it. 13312 133132015-01-08 Jakub Jelinek <jakub@redhat.com> 13314 13315 PR target/64338 13316 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse 13317 compare_code when it is unconditionally overwritten afterwards. 13318 Use ix86_reverse_condition instead of reverse_condition. Don't 13319 change code if *reverse_condition* returned UNKNOWN and don't 13320 swap ct/cf and negate diff in that case. 13321 133222015-01-08 Mike Stump <mikestump@comcast.net> 13323 13324 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support. 13325 (pass_tsan_O0::gate): Likewise. 13326 * extend.texi (Function Attributes): Add no_sanitize_thread 13327 documentation. 13328 133292015-01-08 Thomas Schwinge <thomas@codesourcery.com> 13330 13331 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi 13332 for registering builtins. 13333 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't 13334 add -fopenmp to the argv_obstack used when invoking 13335 compile_for_target. 13336 13337 * config/i386/intelmic-mkoffload.c (compile_for_target): Always 13338 add "-m32" or "-m64" to argv_obstack. 13339 (generate_host_descr_file): Likewise, when invoking host_compiler. 13340 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking 13341 ld. 13342 133432015-01-08 Oleg Endo <olegendo@gcc.gnu.org> 13344 13345 * config/sh/sh-mem.cc: Use constant as second operand when emitting 13346 tstsi_t insns. 13347 133482015-01-08 Oleg Endo <olegendo@gcc.gnu.org> 13349 13350 PR target/55212 13351 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of 13352 constant load if constant operand fits into I08. 13353 133542015-01-08 Jakub Jelinek <jakub@redhat.com> 13355 13356 PR sanitizer/64336 13357 * tree.c (build2_stat): Fix up initialization of TREE_READONLY 13358 and TREE_THIS_VOLATILE for MEM_REFs. 13359 (build5_stat): Fix up initialization of TREE_READONLY and 13360 TREE_THIS_VOLATILE for TARGET_MEM_REFs. 13361 133622015-01-08 Kaz Kojima <kkojima@gcc.gnu.org> 13363 13364 PR target/64533 13365 * config/sh/sh.md (*addsi3_compact): Use u constraint instead 13366 of r for the second alternative of the destination operand. 13367 133682015-01-07 Segher Boessenkool <segher@kernel.crashing.org> 13369 13370 PR target/36557 13371 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New. 13372 133732015-01-07 Sandra Loosemore <sandra@codesourcery.com> 13374 13375 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option 13376 keywords. 13377 ([-fivar-visibility], [-fvisibility]): Likewise. 13378 133792015-01-07 Sandra Loosemore <sandra@codesourcery.com> 13380 13381 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout 13382 the file where @code, @command, etc is more appropriate. 13383 133842015-01-06 Sandra Loosemore <sandra@codesourcery.com> 13385 13386 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting 13387 of -mrecip= documentation. 13388 133892015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com> 13390 13391 PR target/64505 13392 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the 13393 correct reload handler if -m32 -mpowerpc64 is used. 13394 133952015-01-06 Tom de Vries <tom@codesourcery.com> 13396 13397 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment. 13398 133992015-01-08 Christian Bruel <christian.bruel@st.com> 13400 13401 PR target/64507 13402 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length. 13403 134042015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com> 13405 13406 PR tree-optimization/63259 13407 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking 13408 if optab exists for 16bit byteswap. 13409 134102015-01-06 Jakub Jelinek <jakub@redhat.com> 13411 13412 * opts.c (common_handle_option): Add support for 13413 -fno-sanitize=all and -f{,no-}sanitize-recover=all. 13414 * doc/invoke.texi: Document -fno-sanitize=all, 13415 -f{,no-}sanitize-recover=all. Document that 13416 -fsanitize=float-cast-overflow is not enabled 13417 by -fsanitize=undefined. Fix up documentation 13418 of -f{,no-}sanitize-recover. 13419 134202015-01-06 Eric Botcazou <ebotcazou@adacore.com> 13421 13422 * config.gcc: Add Visium support. 13423 * configure.ac: Likewise. 13424 * configure: Regenerate. 13425 * doc/extend.texi (interrupt attribute): Add Visium. 13426 * doc/invoke.texi: Document Visium options. 13427 * doc/install.texi: Document Visium target. 13428 * doc/md.texi: Document Visium constraints. 13429 * common/config/visium: New directory. 13430 * config/visium: Likewise. 13431 134322015-01-05 Segher Boessenkool <segher@kernel.crashing.org> 13433 13434 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases 13435 for the "(and X (ior (not X) Y) -> (and X Y)" transform. 13436 134372015-01-05 Segher Boessenkool <segher@kernel.crashing.org> 13438 13439 * combine.c (combine_validate_cost): Do not count the cost of a 13440 split I2 twice. Do not display it twice in the dump, either. 13441 134422015-01-05 Sandra Loosemore <sandra@codesourcery.com> 13443 13444 Revert parts of r219199. 13445 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on 13446 <inttypes.h>. 13447 ([-Wtraditional]): Restore markup on <limits.h>. 13448 134492015-01-05 Trevor Saunders <tsaunders@mozilla.com> 13450 13451 PR c++/31397 13452 * doc/invoke.texi: Document -Wsuggest-override. 13453 134542015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com> 13455 13456 PR rtl-optimization/64287 13457 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default. 13458 (process_options): Disable flag_ipa_ra if profiling. 13459 134602015-01-05 Eric Botcazou <ebotcazou@adacore.com> 13461 13462 * config/nds32/nds32-peephole2.md: Do not mention define_peephole. 13463 134642015-01-05 Max Filippov <jcmvbkbc@gmail.com> 13465 13466 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail, 13467 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops): 13468 put under #if TARGET_LOOPS guard. 13469 134702015-01-05 Uros Bizjak <ubizjak@gmail.com> 13471 13472 * config/i386/i386.c (output_387_binary_op): Use std::swap. 13473 134742015-01-05 Oleg Endo <olegendo@gcc.gnu.org> 13475 13476 * rtlanal.c (refers_to_regno_p): Change return value from int to bool. 13477 * rtl.h (refers_to_regno_p): Add overload. 13478 * cse.c: Use it. 13479 * bt-load.c: Likewise. 13480 * combine.c: Likewise. 13481 * df-scan.c: Likewise. 13482 * sched-deps.c: Likewise. 13483 * config/s390/s390.c: Likewise. 13484 * config/m32r/m32r.c: Likewise. 13485 * config/rs6000/spe.md: Likewise. 13486 * config/rs6000/rs6000.c: Likewise. 13487 * config/pa/pa.c: Likewise. 13488 * config/stormy16/stormy16.c: Likewise. 13489 * config/cris/cris.c: Likewise. 13490 * config/arc/arc.md: Likewise. 13491 * config/arc/arc.c: Likewise. 13492 * config/sh/sh.md: Likewise. 13493 * config/sh/sh.c: Likewise. 13494 * config/frv/frv.c: Likewise. 13495 134962015-01-05 Jakub Jelinek <jakub@redhat.com> 13497 13498 PR sanitizer/64265 13499 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal 13500 call as cleanup of the whole body. 13501 * internal-fn.def (TSAN_FUNC_EXIT): New internal call. 13502 * tsan.c (replace_func_exit): New function. 13503 (instrument_func_exit): Moved earlier. 13504 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls. 13505 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have 13506 been found. 13507 (tsan_pass): Don't call instrument_func_exit. 13508 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function. 13509 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during 13510 inlining. 13511 13512 PR sanitizer/64344 13513 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument. 13514 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass 13515 it to libubsan handler instead of EXPR. Fold comparisons earlier, 13516 if the result is integer_zerop, return NULL_TREE. 13517 * convert.c (convert_to_integer): Pass expr as ARG. 13518 13519 PR tree-optimization/64465 13520 * tree-inline.c (redirect_all_calls): During inlining 13521 clean up EH stmts and EH edges if redirect_call_stmt_to_callee 13522 changed the stmt to a non-throwing call. 13523 135242015-01-05 Sandra Loosemore <sandra@codesourcery.com> 13525 13526 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp, 13527 etc markup throughout the file. 13528 135292015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de> 13530 13531 Enable experimental TSAN support for Ada. 13532 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR. 13533 135342015-01-05 Jakub Jelinek <jakub@redhat.com> 13535 13536 PR tree-optimization/64494 13537 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also 13538 clear SSA_NAME_ANTI_RANGE_P flag. 13539 135402015-01-05 Marek Polacek <polacek@redhat.com> 13541 13542 * doc/extend.texi (Arrays of Length Zero): Add missing comma. 13543 135442015-01-05 Jakub Jelinek <jakub@redhat.com> 13545 13546 Update copyright years. 13547 13548 * gcc.c (process_command): Update copyright notice dates. 13549 * gcov-dump.c: Ditto. 13550 * gcov.c: Ditto. 13551 * doc/cpp.texi: Bump @copying's copyright year. 13552 * doc/cppinternals.texi: Ditto. 13553 * doc/gcc.texi: Ditto. 13554 * doc/gccint.texi: Ditto. 13555 * doc/gcov.texi: Ditto. 13556 * doc/install.texi: Ditto. 13557 * doc/invoke.texi: Ditto. 13558 13559 * auto-profile.c, auto-profile.h: Fix up Copyright line. 13560 135612015-01-04 Sandra Loosemore <sandra@codesourcery.com> 13562 13563 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix 13564 verb tense, etc. 13565 ([-fvtable-verify], [-fvtv-debug]): Likewise. 13566 ([-Wabi]): Likewise. 13567 ([-fmessage-length]): Likewise. 13568 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise. 13569 ([-Wno-discarded-qualifiers]): Likewise. 13570 ([-Wnodiscarded-array-qualifiers]): Likewise. 13571 ([-Wno-virtual-move-assign]): Likewise. 13572 ([-fsanitize=address], [-fsanitize=thread]): Likewise. 13573 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise. 13574 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise. 13575 ([-fsanitize-undefined-trap-on-error]): Likewise. 13576 ([-floop-interchange]): Likewise. 13577 ([-ftree-coalesce-inlined-vars]): Likewise. 13578 ([-fvect-cost-model]): Likewise. 13579 ([-flto]): Likewise. 13580 ([--param]): Likewise. 13581 (Spec Files): Likewise. 13582 ([-mstrict-align]): Likewise. 13583 ([-mfix-cortex-a53-835769]): Likewise. 13584 ([-march], [-mtune]): Likewise. 13585 ([-mpic-register]): Likewise. 13586 ([-munaligned-access]): Likewise. 13587 ([-msp8]): Likewise. 13588 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise. 13589 (AVR Built-in Macros): Likewise. 13590 ([-mpreferred-stack-boundary]): Likewise. 13591 ([-mtune-crtl]): Likewise. 13592 ([-mashf]): Likewise. 13593 ([-mmcu=]): Likewise. 13594 ([-minrt]): Likewise. 13595 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise. 13596 ([-mupper-regs]): Likewise. 13597 ([-matomic-model]): Likewise. 13598 ([-mdiv]): Likewise. 13599 ([-mzdcbranch]): Likewise. 13600 ([-mdisable-callt]): Likewise. 13601 ([-msoft-float]): Likewise. 13602 ([-m8byte-align]): Likewise. 13603 ([-fstack-reuse]): Likewise. 13604 136052015-01-03 Sandra Loosemore <sandra@codesourcery.com> 13606 13607 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]): 13608 Fix markup, light copy-editing. 13609 ([-fauto-profile]): Rewrite to fix formatting and content 13610 problems. 13611 136122015-01-03 Sandra Loosemore <sandra@codesourcery.com> 13613 13614 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]): 13615 Copy-edit description. 13616 ([-fisolate-erroneous-paths-attribute]): Likewise. 13617 * common.opt (fisolate-erroneous-paths-dereference): 13618 Copy-edit description. 13619 (fisolate-erroneous-paths-attribute): Likewise. 13620 136212015-01-03 Sandra Loosemore <sandra@codesourcery.com> 13622 13623 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and 13624 tidy grammar. 13625 136262015-01-03 Sandra Loosemore <sandra@codesourcery.com> 13627 13628 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex. 13629 ([-fvtv-debug]): Likewise. 13630 ([-Wc++-compat]): Likewise. 13631 ([-Wc++11-compat]): Likewise. 13632 ([-Wc++14-compat]): Likewise. 13633 ([-Wno-sized-deallocation]): Likewise. 13634 ([-femit-class-debug-always]): Likewise. 13635 ([-femit-struct-debug-detailed]): Likewise. 13636 ([-fno-keep-inline-dllexport]): Likewise. 13637 ([-fira-algorithm]): Likewise. 13638 ([-fira-region]): Likewise. 13639 ([-flra-remat]): Likewise. 13640 ([-fipa-ra]): Likewise. 13641 ([-fhoist-adjacent-loads]): Likewise. 13642 ([-fisolate-erroneous-paths-dereference]): Likewise. 13643 ([-fisolate-erroneous-paths-attribute]): Likewise. 13644 ([-ftree-switch-conversion]): Likewise. 13645 ([-ftree-tail-merge]): Likewise. 13646 ([-ftree-loop-if-convert]): Likewise. 13647 ([-ftree-loop-if-convert-stores]): Likewise. 13648 ([-ftree-loop-distribution]): Likewise. 13649 ([-ftree-loop-distribute-patterns]): Likewise. 13650 ([-flto-compression-level]): Likewise. 13651 ([-flto-report]): Likewise. 13652 ([-flto-report-wpa]): Likewise. 13653 ([-fuse-linker-plugin]): Likewise. 13654 ([-mfix-cortex-a53-835769]): Likewise. 13655 ([-mno-fix-cortex-a53-835769]): Likewise. 13656 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the 13657 explicit listing; add a note to the discussion indicating they 13658 exist. Reorder table to group similar options. Add missing 13659 @opindex entries. Add @need commands throughout the table to 13660 allow it to be split across multiple pages. 13661 ([-m8bit-idiv]): Fix @opindex. 13662 ([-mavx256-split-unaligned-load]): Likewise. 13663 ([-mavx256-split-unaligned-store]): Likewise. 13664 ([-mstack-protector-guard]): Likewise. 13665 ([-mcpu=]): Likewise. 13666 ([-mcpu]): Likewise. 13667 ([-mpointer-size=]): Likewise. 13668 136692015-01-03 John David Anglin <danglin@gcc.gnu.org> 13670 13671 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint 13672 instead of `m' constraint. Likewise for unnamed movb comparison 13673 patterns using reg_before_reload_operand predicate. 13674 * config/pa/predicates.md (reg_before_reload_operand): Tighten 13675 predicate to reject register index and LO_SUM DLT memory forms 13676 after reload. 13677 136782015-01-02 Sandra Loosemore <sandra@codesourcery.com> 13679 13680 * doc/invoke.texi (Option Summary): Fix spelling of 13681 -fdevirtualize-at-ltrans. 13682 ([-fdevirtualize]): Fix markup. 13683 ([-fdevirtualize-speculatively]): Fix typo. 13684 ([-fdevirtualize-at-ltrans]): Likewise. Make description less 13685 implementor-speaky. 13686 * common.opt (fdevirtualize-at-ltrans): Likewise. 13687 * ipa-devirt.c: Fix typos in comments throughout the file. 13688 (ipa_devirt): Fix typos in format strings for dump output. 13689 136902015-01-02 Sandra Loosemore <sandra@codesourcery.com> 13691 13692 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate 13693 discussion of defaults, light copy-editing. 13694 136952015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 13696 13697 * tsan.c (instrument_expr): corrected previous checkin. 13698 136992015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 13700 13701 Instrument bit field and unaligned accesses for TSAN. 13702 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function. 13703 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function. 13704 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF. 13705 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for 13706 unaligned memory regions. 13707 137082015-01-01 Anthony Green <green@moxielogic.com> 13709 13710 * config/moxie/predicates.md (moxie_general_movsrc_operand): 13711 Restrict move source register offsets to 16 bits. 13712 13713Copyright (C) 2015 Free Software Foundation, Inc. 13714 13715Copying and distribution of this file, with or without modification, 13716are permitted in any medium without royalty provided the copyright 13717notice and this notice are preserved. 13718