12012-07-02 Release Manager 2 3 * GCC 4.5.4 released. 4 52012-06-22 Richard Guenther <rguenther@suse.de> 6 7 * gcov-iov.c: Include bconfig.h and system.h. 8 92012-06-22 Richard Guenther <rguenther@suse.de> 10 11 PR gcov-profile/53744 12 * gcov-iov.c (main): Treat "" and "prerelease" the same. 13 142012-06-20 Richard Guenther <rguenther@suse.de> 15 16 Backport from mainline 17 2012-05-21 Joseph Myers <joseph@codesourcery.com> 18 19 PR c/53418 20 * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR 21 from folded operands before wrapping another around the 22 conditional expression. 23 242012-06-20 Richard Guenther <rguenther@suse.de> 25 26 Backport from mainline 27 2010-12-18 Jakub Jelinek <jakub@redhat.com> 28 29 PR tree-optimization/46985 30 * tree-scalar-evolution.c (instantiate_scev_r): If chrec is NULL, 31 return it immediately. 32 33 2011-02-18 Jakub Jelinek <jakub@redhat.com> 34 35 PR debug/47780 36 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to 37 avoid invalid rtx sharing. 38 39 2011-02-27 Jakub Jelinek <jakub@redhat.com> 40 41 PR middle-end/47903 42 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR, 43 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if 44 r isn't op0 nor op1. 45 462012-06-04 Edmar Wienskoski <edmar@freescale.com> 47 48 * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of 49 operands. 50 (altivec_stvlxl): Ditto. 51 (altivec_stvrx): Ditto. 52 (altivec_stvrxl): Ditto. 53 542012-06-04 Georg-Johann Lay <avr@gjlay.de> 55 56 Backport from 2012-06-04 mainline r188172 57 58 PR target/46261 59 * config/avr/avr-stdint.h: New file. 60 * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of 61 newlib-stdint.h 62 632012-05-16 Eric Botcazou <ebotcazou@adacore.com> 64 65 * configure: Regenerate. 66 672012-05-14 Uros Bizjak <ubizjak@gmail.com> 68 69 PR target/46098 70 * config/i386/i386.c (ix86_expand_special_args_builtin): Always 71 generate target register for "load" class builtins. 72 73 Revert: 74 2010-10-22 Uros Bizjak <ubizjak@gmail.com> 75 76 PR target/46098 77 * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>): 78 Rename from avx_movu<ssemodesuffix><avxmodesuffix>. 79 (avx_movu<ssemodesuffix><avxmodesuffix>): New expander. 80 (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>. 81 (<sse>_movu<ssemodesuffix>): New expander. 82 (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>. 83 (avx_movdqu<avxmodesuffix>): New expander. 84 (*sse2_movdqu): Rename from sse2_movdqu. 85 (sse2_movdqu): New expander. 86 872012-05-13 Uros Bizjak <ubizjak@gmail.com> 88 89 Backport from mainline 90 2012-05-12 Uros Bizjak <ubizjak@gmail.com> 91 92 * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle 93 ORDERED and UNORDERED conditions. 94 952012-05-04 Uros Bizjak <ubizjak@gmail.com> 96 97 Backport from mainline 98 2012-05-04 Uros Bizjak <ubizjak@gmail.com> 99 100 PR target/53228 101 * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE. 102 (TARGET_CMOV): Rename from TARGET_CMOVE. 103 (TARGET_CMOVE): New define. 104 * config/i386/i386.c (override_options): Use TARGET_CMOV. 105 Do not set TARGET_CMOVE here. 106 1072012-05-03 Michael Meissner <meissner@linux.vnet.ibm.com> 108 109 Backport from the mainline 110 2012-05-03 Michael Meissner <meissner@linux.vnet.ibm.com> 111 112 PR target/53199 113 * config/rs6000/rs6000.md (bswapdi splitters): If 114 -mavoid-indexed-addresses (or -mcpu=power6 which sets it by 115 default) is used, generate an alternate sequence that does not 116 depend on using indexed addressing. 117 1182012-05-02 Georg-Johann Lay <avr@gjlay.de> 119 120 Backport from 2011-10-21 4.6-branch 180303. 121 122 PR target/50820 123 * config/avr/libgcc.S (__EIND__): New define to 0x3C. 124 (__tablejump__): Consistently use EIND for indirect jump/call. 125 (__tablejump_elpm__): Ditto. 126 1272012-05-02 Georg-Johann Lay <avr@gjlay.de> 128 129 Backport from 2011-05-30 4.6-branch r174427. 130 131 PR target/45263 132 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): 133 Don't use r20 around calls of __tablejump_elpm__ 134 1352012-05-02 Georg-Johann Lay <avr@gjlay.de> 136 137 Backport from 2011-07-11 4.6-branch r176143 138 139 PR target/39633 140 * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only 141 offsets 1..5 set cc0 in a usable way. 142 1432012-05-02 Georg-Johann Lay <avr@gjlay.de> 144 145 Backport from 2011-07-08 4.6-branch r176055. 146 147 PR target/46779 148 * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite. 149 In particular, allow 8-bit values in r28 and r29. 150 (avr_hard_regno_scratch_ok): Disallow any register that might be 151 part of the frame pointer. 152 (avr_hard_regno_rename_ok): Same. 153 (avr_legitimate_address_p): Don't allow SUBREGs. 154 1552012-04-30 Uros Bizjak <ubizjak@gmail.com> 156 157 Backport from mainline 158 2012-04-27 Paolo Bonzini <bonzini@gnu.org> 159 160 PR target/53138 161 * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber. 162 1632012-04-20 Thomas Schwinge <thomas@codesourcery.com> 164 165 struct siginfo vs. siginfo_t 166 167 Backport from trunk (but apply to gcc/): 168 169 2012-04-20 Thomas Schwinge <thomas@codesourcery.com> 170 171 * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use 172 siginfo_t instead of struct siginfo. 173 * config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise. 174 * config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise. 175 * config/ia64/linux-unwind.h (ia64_fallback_frame_state) 176 (ia64_handle_unwabi): Likewise. 177 * config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise. 178 * config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise. 179 * config/sh/linux-unwind.h (shmedia_fallback_frame_state) 180 (sh_fallback_frame_state): Likewise. 181 * config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise. 182 1832012-04-12 Richard Earnshaw <rearnsha@arm.com> 184 185 PR target/49448 186 * config.gcc (arm*-*-linux*): Use an unambiguous pattern for 187 detecting big-endian triplets. 188 1892012-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 190 191 PR middle-end/52894 192 * varasm.c (process_pending_assemble_externals): Set 193 pending_assemble_externals_processed true. 194 (assemble_external): Call assemble_external_real if the pending 195 assemble externals have been processed. 196 1972012-04-09 Eric Botcazou <ebotcazou@adacore.com> 198 199 PR target/52717 200 * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on 201 the DECL generated for the special GOT helper. 202 2032012-04-06 Matt Turner <mattst88@gmail.com> 204 205 * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc". 206 2072012-03-29 Uros Bizjak <ubizjak@gmail.com> 208 209 * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results 210 crossing 128bit lane boundary. 211 2122012-03-29 Uros Bizjak <ubizjak@gmail.com> 213 214 Backported from mainline 215 2012-03-27 Uros Bizjak <ubizjak@gmail.com> 216 217 PR target/52698 218 * config/i386/i386-protos.h (ix86_legitimize_reload_address): 219 New prototype. 220 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define. 221 * config/i386/i386.c: Include reload.h. 222 (ix86_legitimize_reload_address): New function. 223 2242012-03-28 Martin Jambor <mjambor@suse.cz> 225 226 Backported from mainline 227 2012-03-27 Martin Jambor <mjambor@suse.cz> 228 229 PR middle-end/52693 230 * tree-sra.c (sra_modify_assign): Do not call 231 load_assign_lhs_subreplacements when working with an unscalarizable 232 region. 233 2342012-03-24 Steven Bosscher <steven@gcc.gnu.org> 235 236 PR middle-end/52640 237 * varasm.c: Include pointer-set.h. 238 (pending_assemble_externals_set): New pointer set. 239 (process_pending_assemble_externals): Destroy the pointer set. 240 (assemble_external): See if decl is in pending_assemble_externals_set, 241 and add it to pending_assemble_externals if necessary. 242 (init_varasm_once): Allocate pending_assemble_externals_set. 243 2442012-03-06 Michael Meissner <meissner@linux.vnet.ibm.com> 245 246 Backport from mainline 247 2012-03-06 Michael Meissner <meissner@linux.vnet.ibm.com> 248 249 PR target/50310 250 * config/rs6000/vector.md (vector_uneq<mode>): Add support for 251 UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons. 252 (vector_ltgt<mode>): Likewise. 253 (vector_ordered<mode>): Likewise. 254 (vector_unordered<mode>): Likewise. 255 * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): 256 Likewise. 257 2582012-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 259 260 Backport from mainline 261 2012-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 262 263 PR target/52408 264 * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to 265 unsigned HOST_WIDE_INT. 266 (zvdep_imm64): Likewise. 267 (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT. 268 (vdepi_and): Likewise. 269 Likewise for unamed 64-bit patterns. 270 * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment. 271 2722012-03-02 Peter Bergner <bergner@vnet.ibm.com> 273 274 Backport from mainline 275 2012-03-02 Peter Bergner <bergner@vnet.ibm.com> 276 277 * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands. 278 2792012-02-23 Uros Bizjak <ubizjak@gmail.com> 280 281 PR c/52290 282 * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL. 283 2842012-02-22 Uros Bizjak <ubizjak@gmail.com> 285 286 PR target/52330 287 * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x 288 is not offsettable memory reference. 289 2902012-02-21 Richard Earnshaw <rearnsha@arm.com> 291 292 PR target/52294 293 * thumb2.md (thumb2_shiftsi3_short): Split register and 294 immediate shifts. For register shifts tie operands 0 and 1. 295 (peephole2 for above): Check that register-controlled shifts 296 have suitably tied operands. 297 2982012-02-14 Bin Cheng <bin.cheng@arm.com> 299 300 Backport from mainline. 301 2012-01-30 Bin Cheng <bin.cheng@arm.com> 302 303 PR target/51835 304 * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI 305 for __aeabi_d2iz/__aeabi_d2uiz with hard-float. 306 307 2011-06-08 Julian Brown <julian@codesourcery.com> 308 309 * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI 310 for double-precision helper functions in hard-float mode if only 311 single-precision arithmetic is supported in hardware. 312 3132012-02-09 Jakub Jelinek <jakub@redhat.com> 314 315 Backported from mainline 316 2012-02-08 Jakub Jelinek <jakub@redhat.com> 317 318 PR rtl-optimization/52139 319 * cfgrtl.c (cfg_layout_merge_blocks): If BB_END 320 is a BARRIER after emit_insn_after_noloc, move BB_END 321 to the last non-BARRIER insn before it. 322 323 2012-01-19 Jakub Jelinek <jakub@redhat.com> 324 325 PR libmudflap/40778 326 * tree-mudflap.c (mf_artificial): New function. 327 (execute_mudflap_function_ops, execute_mudflap_function_decls, 328 mx_register_decls, mudflap_enqueue_decl): Use it. 329 330 2012-01-05 Jakub Jelinek <jakub@redhat.com> 331 332 PR rtl-optimization/51767 333 * cfgrtl.c (force_nonfallthru_and_redirect): Force addition 334 of jump_block and add an extra edge for degenerated asm gotos. 335 336 PR middle-end/51768 337 * stmt.c (check_unique_operand_names): Don't ICE during error 338 reporting if i is from labels chain. 339 340 PR middle-end/44777 341 * profile.c (branch_prob): Split bbs that have exit edge 342 and need a fake entry edge too. 343 3442012-02-09 Peter Bergner <bergner@vnet.ibm.com> 345 346 Backport from mainline 347 2012-02-09 Peter Bergner <bergner@vnet.ibm.com> 348 349 PR middle-end/52140 350 * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P. 351 3522012-02-09 Andrey Belevantsev <abel@ispras.ru> 353 354 Backport from mainline 355 2012-01-20 Andrey Belevantsev <abel@ispras.ru> 356 357 PR target/51106 358 * function.c (instantiate_virtual_regs_in_insn): Use 359 delete_insn_and_edges when removing a wrong asm insn. 360 3612012-02-07 Quentin Neill <quentin.neill@amd.com> 362 363 Backport from mainline: 364 2012-01-19 Quentin Neill <quentin.neill@amd.com> 365 366 PR target/48743 367 * config/i386/driver-i386.c (host_detect_local_cpu): Also check 368 family to distinguish PROCESSOR_ATHLON. 369 3702012-02-07 Kai Tietz <ktietz@redhat.com> 371 Dave Korn <dave.korn.cygwin@gmail.com> 372 373 PR target/40068 374 * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition): 375 Take care that typinfo gets dllexport-attribute. 376 3772012-01-31 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 378 379 Backport from mainline: 380 2012-01-31 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 381 382 * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition. 383 3842012-01-20 Eric Botcazou <ebotcazou@adacore.com> 385 386 * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK. 387 3882012-01-15 Uros Bizjak <ubizjak@gmail.com> 389 390 PR rtl-optimization/51821 391 * recog.c (peep2_find_free_register): Determine clobbered registers 392 from insn pattern. 393 3942012-01-12 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 395 396 Backport from mainline: 397 2012-01-11 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 398 399 * config/arm/arm.md (mov_notscc): Use MVN for false condition. 400 4012012-01-10 Joseph Myers <joseph@codesourcery.com> 402 403 Revert: 404 405 2008-09-18 Andrew Pinski <andrew_pinski@playstation.sony.com> 406 407 PR rtl-opt/37451 408 * loop-doloop.c (doloop_modify): New argument zero_extend_p and 409 zero extend count after the correction to it is done. 410 (doloop_optimize): Update call to doloop_modify, don't zero extend 411 count before call. 412 413 2008-11-03 Andrew Pinski <andrew_pinski@playstation.sony.com> 414 415 PR rtl-opt/37782 416 * loop-doloop.c (doloop_modify): Add from_mode argument that says what 417 mode count is in. 418 (doloop_optimize): Update call to doloop_modify. 419 4202012-01-09 Richard Sandiford <rdsandiford@googlemail.com> 421 422 * config/mips/mips.md (loadgp_newabi_<mode>): Add missing 423 earlyclobber. 424 4252012-01-09 Martin Jambor <mjambor@suse.cz> 426 427 PR tree-optimization/51759 428 Backport from mainline 429 2010-09-15 Martin Jambor <mjambor@suse.cz> 430 431 PR middle-end/45644 432 * tree-sra.c (create_access): Check for bit-fields directly. 433 4342012-01-09 Eric Botcazou <ebotcazou@adacore.com> 435 436 * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Check that the 437 purported sigacthandler address isn't null before dereferencing it. 438 (sparc_is_sighandler): Likewise. 439 4402012-01-06 Richard Sandiford <richard.sandiford@linaro.org> 441 442 PR middle-end/48660 443 * expr.h (copy_blkmode_to_reg): Declare. 444 * expr.c (copy_blkmode_to_reg): New function. 445 (expand_assignment): Don't expand register RESULT_DECLs before 446 the lhs. Use copy_blkmode_to_reg to copy BLKmode values into a 447 RESULT_DECL register. 448 (expand_expr_real_1): Handle BLKmode decls when looking for promotion. 449 4502012-01-04 Richard Guenther <rguenther@suse.de> 451 452 Backport from mainline 453 2012-01-04 Richard Guenther <rguenther@suse.de> 454 455 PR tree-optimization/49651 456 * tree-ssa-structalias.c (type_can_have_subvars): New function. 457 (var_can_have_subvars): Use it. 458 (get_constraint_for_1): Only consider subfields if there 459 can be any. 460 461 2011-07-14 Richard Guenther <rguenther@suse.de> 462 463 PR tree-optimization/49651 464 * tree-ssa-structalias.c (get_constraint_for_1): Properly 465 handle dereferences with subvariables. 466 4672012-01-03 Richard Guenther <rguenther@suse.de> 468 469 Backport from mainline 470 2011-10-12 Paul Koning <pkoning@gcc.gnu.org> 471 472 PR tree-optimization/50189 473 * tree-vrp.c (extract_range_from_assert): Use the type of 474 the variable, not the limit. 475 4762012-01-03 Richard Guenther <rguenther@suse.de> 477 478 Backport from mainline 479 2011-10-06 Jakub Jelinek <jakub@redhat.com> 480 481 PR tree-optimization/49279 482 * tree-ssa-structalias.c (find_func_aliases): Don't handle 483 CAST_RESTRICT. 484 4852012-01-03 Richard Guenther <rguenther@suse.de> 486 487 Backport from mainline 488 2011-08-23 Richard Guenther <rguenther@suse.de> 489 490 PR tree-optimization/50162 491 * tree-vect-stmts.c (vectorizable_call): Fix argument lookup. 492 4932012-01-03 Richard Guenther <rguenther@suse.de> 494 495 Backport from mainline 496 2011-05-12 Richard Guenther <rguenther@suse.de> 497 498 PR tree-optimization/48172 499 * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude 500 the number of iterations from the segment size calculation. 501 (vect_create_cond_for_alias_checks): Adjust. 502 503 2011-05-13 Richard Guenther <rguenther@suse.de> 504 505 PR tree-optimization/48172 506 * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid 507 multiplying by number of iterations for equal step. 508 (vect_create_cond_for_alias_checks): Likewise. 509 5102011-12-21 Uros Bizjak <ubizjak@gmail.com> 511 512 Backport from mainline 513 2011-12-21 Richard Guenther <rguenther@suse.de> 514 515 PR lto/41159 516 * tree-outof-ssa.c (insert_value_copy_on_edge): Use the 517 mode of the pseudo as destination mode. Only assert that 518 is equal to the promoted mode of the decl if it is a REG. 519 5202011-12-21 Uros Bizjak <ubizjak@gmail.com> 521 522 * config/alpha/linux-unwind.h: Update copyright years. 523 (MD_FROB_UPDATE_CONTEXT): New define. 524 (alpha_frob_update_context): New function. 525 5262011-12-16 Eric Botcazou <ebotcazou@adacore.com> 527 528 * config/sparc/sparc.md (UNSPEC_FRAME_BLOCKAGE): New constant. 529 (frame_blockage): New expander. 530 (frame_blockage<P:mode>): New instruction. 531 * config/sparc/sparc.c (sparc_expand_prologue): When the sequence of 532 instructions establishing the frame isn't atomic, emit frame blockage. 533 5342011-12-13 Eric Botcazou <ebotcazou@adacore.com> 535 536 * lto-streamer-out.c (write_symbol): Use proper 64-bit host type. 537 * lto-streamer-in.c (lto_read_body): Use 'int' for offsets. 538 (lto_input_toplevel_asms): Likewise. 539 * lto-section-in.c (lto_create_simple_input_block): Likewise. 540 * lto-opts.c (lto_read_file_options): Likewise. 541 * ipa-prop.c (ipa_prop_read_section): Likewise. 542 543 * df.h (DF_NOTE): Fix typo in comment. 544 5452011-12-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 546 547 * regmove.c (fixup_match_2): Only access call_used_regs with hard 548 regs. 549 5502011-12-09 Kazu Hirata <kazu@codesourcery.com> 551 552 Backport from mainline: 553 554 2011-12-05 Kazu Hirata <kazu@codesourcery.com> 555 556 PR target/51408 557 * config/arm/arm.md (*minmax_arithsi): Always require the else 558 clause in the MINUS case. 559 5602011-12-04 Jérémie Detrey <Jeremie.Detrey@loria.fr> 561 562 PR target/51393 563 * config/i386/avxintrin.h (_mm256_insert_epi64): Declare second 564 parameter as long long. 565 5662011-11-25 Richard Sandiford <richard.sandiford@linaro.org> 567 568 Backport from mainline: 569 570 2011-03-29 Richard Sandiford <richard.sandiford@linaro.org> 571 572 PR debug/48190 573 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced. 574 (cached_dw_loc_list_def): New structure. 575 (cached_dw_loc_list): New typedef. 576 (cached_dw_loc_list_table): New variable. 577 (cached_dw_loc_list_table_hash): New function. 578 (cached_dw_loc_list_table_eq): Likewise. 579 (add_location_or_const_value_attribute): Take a bool cache_p. 580 Cache the list when the parameter is true. 581 (gen_formal_parameter_die): Update caller. 582 (gen_variable_die): Likewise. 583 (dwarf2out_finish): Likewise. 584 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table 585 while generating debug info for the decl. 586 (dwarf2out_function_decl): Clear cached_dw_loc_list_table. 587 (dwarf2out_init): Initialize cached_dw_loc_list_table. 588 (resolve_addr): Cache the result of resolving a chain of 589 location lists. 590 591 From: 2010-10-12 Jakub Jelinek <jakub@redhat.com> 592 * dwarf2out.c (dw_loc_list_node): Add emitted field. 593 (output_loc_list): Return immediately if emitted is set, set it. 594 5952011-11-19 Eric Botcazou <ebotcazou@adacore.com> 596 597 PR rtl-optimization/51187 598 * reorg.c (relax_delay_slots): Do not consider a jump useless if there 599 is a barrier between the jump and its target label. 600 6012011-11-07 Alan Modra <amodra@gmail.com> 602 603 PR target/30282 604 * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit 605 blockage for ABI_V4. 606 6072011-11-04 Eric Botcazou <ebotcazou@adacore.com> 608 609 PR target/50979 610 * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8. 611 6122011-10-30 Uros Bizjak <ubizjak@gmail.com> 613 614 PR target/50875 615 * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn 616 constraints. Change alternative 1 to "x,m,1". 617 6182011-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 619 620 PR target/50691 621 * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol 622 references. 623 * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for 624 TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references. 625 6262011-10-23 Uros Bizjak <ubizjak@gmail.com> 627 628 PR target/50788 629 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>): 630 Remove (match_dup 0). 631 6322011-10-18 Uros Bizjak <ubizjak@gmail.com> 633 Eric Botcazou <ebotcazou@adacore.com> 634 635 PR target/50737 636 * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set 637 fs->signal_frame to 1. 638 6392011-10-12 Joseph Myers <joseph@codesourcery.com> 640 641 PR c/50565 642 * convert.c (convert_to_integer): Do not narrow operands of 643 pointer subtraction. 644 6452011-10-11 Eric Botcazou <ebotcazou@adacore.com> 646 647 PR target/49965 648 * config/sparc/sparc.md (mov<I:mode>cc): Do not save comparison code. 649 (mov<F:mode>cc): Likewise. 650 6512011-09-22 Uros Bizjak <ubizjak@gmail.com> 652 653 PR target/50464 654 * config/i386/sse.md (xop_pcmov_<mode>): Change operand 1 predicate 655 to register_operand and operand 2 predicate to nonimmediate_operand. 656 (xop_pcmov_<mode>256): Ditto. 657 * config/i386/i386.c (ix86_expand_sse_movcc): When generating 658 xop_pcmov, force op_true to register. Also, force op_false to 659 register if it doesn't satisfy nonimmediate_operand predicate. 660 6612011-09-18 Eric Botcazou <ebotcazou@adacore.com> 662 Iain Sandoe <developer@sandoe-acoustics.co.uk> 663 664 PR target/50091 665 * config/rs6000/rs6000.md (probe_stack): Use explicit operand. 666 6672011-09-08 Martin Jambor <mjambor@suse.cz> 668 669 Backport from mainline 670 2011-09-07 Martin Jambor <mjambor@suse.cz> 671 672 PR tree-optimization/49911 673 * tree-sra.c (analyze_access_subtree): Change type of to-be-replaced 674 enumerations to the corresponding plain integer type. 675 6762011-08-26 Richard Sandiford <richard.sandiford@linaro.org> 677 678 PR target/50090 679 * config/arm/bpabi.h (RENAME_LIBRARY_SET): Delete. 680 (RENAME_LIBRARY): Use a C-level alias instead of an assembly one. 681 6822011-08-12 Nick Clifton <nickc@redhat.com> 683 684 * builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi pattern. 685 * doc/md.texi (cmpstrn): Note that the comparison stops if both 686 fetched bytes are zero. 687 (cmpstr): Likewise. 688 (cmpmem): Note that the comparison does not stop if both of the 689 fetched bytes are zero. 690 6912011-08-11 Kazuhiro Inaoka <kazuhiro.inaoka.ud@renesas.com> 692 693 * config/rx/rx.md (movsicc): Allow register to register transfers. 694 (*movsicc): Likewise. 695 (*stcc): Restrict this pattern to EQ and NE compares. 696 (*stcc_reg): New pattern. Works for any comparison but only for 697 register transfers. 698 6992011-08-10 DJ Delorie <dj@redhat.com> 700 701 * expr.c (expand_expr_addr_expr_1): Detect a user request for 702 a local frame in a naked function, and produce a suitable 703 error for that specific case. 704 7052011-08-06 Uros Bizjak <ubizjak@gmail.com> 706 707 PR target/50001 708 * config/alpha/alpha.c (alpha_instantiate_decls): New function. 709 (TARGET_INSTANTIATE_DECLS): New define. 710 7112011-08-01 Sebastien Bourdeauducq <sebastien@milkymist.org> 712 713 * config/lm32/t-lm32: Add missing multilibs. 714 7152011-07-31 Uros Bizjak <ubizjak@gmail.com> 716 717 PR target/49920 718 * config/i386/i386.md (strset): Do not expand strset_singleop 719 when %eax or $edi are fixed. 720 (*strsetdi_rex_1): Disable when %eax or %edi are fixed. 721 (*strsetsi_1): Ditto. 722 (*strsetsi_rex_1): Ditto. 723 (*strsethi_1): Ditto. 724 (*strsethi_rex_1): Ditto. 725 (*strsetqi_1): Ditto. 726 (*strsetqi_rex_1): Ditto. 727 (*rep_stosdi_rex64): Disable when %eax, %ecx or %edi are fixed. 728 (*rep_stossi): Ditto. 729 (*rep_stossi_rex64): Ditto. 730 (*rep_stosqi): Ditto. 731 (*rep_stosqi_rex64): Ditto. 732 (*strlenqi_1): Ditto. 733 (*strlenqi_rex_1): Ditto. 734 (cmpstrnsi): Also fail when %ecx is fixed. 735 (*cmpstrnqi_nz_1): Disable when %ecx, %esi or %edi are fixed. 736 (*cmpstrnqi_nz_rex_1): Ditto. 737 (*cmpstrnqi_1): Ditto. 738 (*cmpstrnqi_rex_1): Ditto. 739 (*strmovdi_rex_1): Disable when %esi or %edi are fixed. 740 (*strmovsi_1): Ditto. 741 (*strmovsi_rex_1): Ditto. 742 (*strmovhi_1): Ditto. 743 (*strmovhi_rex_1): Ditto. 744 (*strmovqi_1): Ditto. 745 (*strmovqi_rex_1): Ditto. 746 (*rep_movdi_rex64): Disable when %ecx, %esi or %edi are fixed. 747 (*rep_movsi): Ditto. 748 (*rep_movsi_rex64): Ditto. 749 (*rep_movqi): Ditto. 750 (*rep_movqi_rex64): Ditto. 751 7522011-07-28 Uros Bizjak <ubizjak@gmail.com> 753 754 PR target/47364 755 * config/i386/i386.md (strlensi): Enable for !TARGET_64BIT only. 756 (strlendi): Enable for TARGET_64BIT only. 757 7582011-07-29 Nick Clifton <nickc@redhat.com> 759 760 * config/rx/rx.c (rx_expand_builtin): Fix typo checking the setpsw 761 builtin. 762 7632011-07-19 Jakub Jelinek <jakub@redhat.com> 764 765 Backport from mainline 766 2011-07-08 Jakub Jelinek <jakub@redhat.com> 767 768 PR target/49621 769 * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use 770 CONST0_RTX (dest_mode) instead of const0_rtx as second operand 771 of NE. 772 * config/rs6000/vector.md (vector_select_<mode>, 773 vector_select_<mode>_uns): Change second operand of NE to 774 CONST0_RTX (<MODE>mode) instead of const0_rtx. 775 * config/rs6000/altivec.md (*altivec_vsel<mode>, 776 *altivec_vsel<mode>_uns): Expect second operand of NE to be 777 zero_constant of the corresponding vector mode. 778 * config/rs6000/vsx.md (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns): 779 Likewise. 780 781 2011-07-07 Jakub Jelinek <jakub@redhat.com> 782 783 PR c/49644 784 * c-typeck.c (build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with 785 one non-complex and one complex argument, call c_save_expr on both 786 operands. 787 788 PR middle-end/49640 789 * gimplify.c (gimplify_compound_lval): For last 2 ARRAY_*REF 790 operands and last COMPONENT_REF operand call gimplify_expr on it 791 if non-NULL. 792 793 2011-07-04 Jakub Jelinek <jakub@redhat.com> 794 795 PR rtl-optimization/49619 796 * combine.c (combine_simplify_rtx): In PLUS -> IOR simplification 797 pass VOIDmode as op0_mode to recursive call. 798 799 2011-05-27 Jakub Jelinek <jakub@redhat.com> 800 801 PR c++/49165 802 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For 803 C++ don't call c_common_truthvalue_conversion on void type arms. 804 805 2011-05-26 Jakub Jelinek <jakub@redhat.com> 806 807 PR c++/49165 808 * gimplify.c (shortcut_cond_r): Don't special case 809 COND_EXPRs if they have void type on one of their arms. 810 811 PR tree-optimization/49161 812 * tree-vrp.c (struct case_info): New type. 813 (compare_case_labels): Sort case_info structs instead of 814 trees, and not primarily by CASE_LABEL uids but by 815 label_for_block indexes. 816 (find_switch_asserts): Put case labels into struct case_info 817 array instead of TREE_VEC, adjust sorting, compare label_for_block 818 values instead of CASE_LABELs. 819 820 2011-05-23 Jakub Jelinek <jakub@redhat.com> 821 822 PR c/49120 823 * c-decl.c (start_decl): Convert expr to void_type_node. 824 825 PR middle-end/48973 826 * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag 827 failed and the comparison has a single bit signed type, use 828 constm1_rtx instead of const1_rtx for true value. 829 (do_store_flag): If ops->type is single bit signed type, disable 830 signel bit test optimization and pass -1 instead of 1 as last 831 parameter to emit_store_flag_force. 832 833 2011-05-18 Jakub Jelinek <jakub@redhat.com> 834 835 PR tree-optimization/49039 836 * tree-vrp.c (extract_range_from_binary_expr): For 837 MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]> 838 return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>]. 839 8402011-07-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 841 842 PR target/49746 843 Revert: 844 2010-12-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 845 846 * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean 847 patterns. 848 8492011-07-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 850 851 PR target/49723 852 * config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT. 853 8542011-07-12 Andrey Belevantsev <abel@ispras.ru> 855 856 Backport from mainline 857 2011-05-25 Andrey Belevantsev <abel@ispras.ru> 858 859 PR rtl-optimization/49014 860 * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi. 861 8622011-07-07 Eric Botcazou <ebotcazou@adacore.com> 863 864 PR target/49660 865 * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add 866 MASK_V8PLUS, remove commented out flag and reorder. 867 868 Backport from mainline 869 2011-06-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 870 871 * config/sparc/sol2-64.h (TARGET_DEFAULT): Remove. 872 (TARGET_64BIT_DEFAULT): Define. 873 * config.gcc (sparc*-*-solaris2*): Move sparc/sol2-64.h to front 874 of tm_file. 875 * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Define. 876 8772011-07-04 Richard Guenther <rguenther@suse.de> 878 879 Backport from mainline 880 2011-05-02 Richard Guenther <rguenther@suse.de> 881 882 PR tree-optimization/48822 883 * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice. 884 8852011-07-04 Richard Guenther <rguenther@suse.de> 886 887 Backport from mainline 888 2011-05-23 Richard Guenther <rguenther@suse.de> 889 890 PR tree-optimization/49115 891 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise. 892 8932011-07-04 Richard Guenther <rguenther@suse.de> 894 895 PR tree-optimization/49615 896 * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix 897 basic-block index check. 898 8992011-06-30 Eric Botcazou <ebotcazou@adacore.com> 900 901 PR tree-optimization/49572 902 * tree-ssa-dom.c (initialize_hash_element) <GIMPLE_SINGLE_RHS>: Use the 903 type of the RHS instead of that of the LHS for the expression type. 904 9052011-06-30 Jack Howarth <howarth@bromo.med.uc.edu> 906 907 Backport from mainline 908 2011-02-07 Mike Stump <mikestump@comcast.net> 909 910 PR target/42333 911 Add __ieee_divdc3 entry point. 912 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3 913 entry point. 914 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins. 915 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise. 916 * config/darwin.c (darwin_rename_builtins): Add. 917 * config/darwin-protos.h (darwin_rename_builtins): Add. 918 9192011-06-28 Eric Botcazou <ebotcazou@adacore.com> 920 921 * tree-ssa-dom.c (initialize_hash_element): Fix oversight. 922 9232011-06-17 Hans-Peter Nilsson <hp@axis.com> 924 925 Backport from mainline 926 2011-06-17 Hans-Peter Nilsson <hp@axis.com> 927 928 PR rtl-optimization/48542 929 * reload.c (find_equiv_reg): Stop looking when finding a 930 setjmp-type call. 931 * reload1.c (reload_as_needed): Invalidate all reload 932 registers when crossing a setjmp-type call. 933 9342011-06-16 Kaz Kojima <kkojima@gcc.gnu.org> 935 936 Backport from mainline 937 2011-06-09 Kaz Kojima <kkojima@gcc.gnu.org> 938 939 PR target/49307 940 * config/sh/sh.md (UNSPEC_CHKADD): New. 941 (chk_guard_add): New define_insn_and_split. 942 (symGOT_load): Use chk_guard_add instead of blockage. 943 9442011-06-11 Uros Bizjak <ubizjak@gmail.com> 945 946 * config/i386/sse.md (vec_dupv4sf): Correct mode of forced register. 947 (*vec_dupv2df): Rename from vec_dupv2df. 948 (vec_dupv2df): New expander. 949 9502011-06-09 Eric Botcazou <ebotcazou@adacore.com> 951 952 * config/sparc/sparc.md (return_internal): Adjust 'length' attribute. 953 9542011-06-08 Kaz Kojima <kkojima@gcc.gnu.org> 955 956 Backport from mainline 957 2011-06-01 Kaz Kojima <kkojima@gcc.gnu.org> 958 959 PR target/49238 960 * config/sh/sh.c (expand_cbranchdi4): Use a scratch register if 961 needed when original operands are used for msw_skip comparison. 962 9632011-06-05 Eric Botcazou <ebotcazou@adacore.com> 964 965 * config/sparc/sparc.c (output_return): Fix thinko in the output of an 966 EH return when delayed branches are disabled. 967 9682011-06-05 Kaz Kojima <kkojima@gcc.gnu.org> 969 970 Backport from mainline 971 2011-05-30 Kaz Kojima <kkojima@gcc.gnu.org> 972 973 PR target/49186 974 * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high 975 part of the second operand is 0. 976 9772011-06-04 Ira Rosen <ira.rosen@linaro.org> 978 979 PR tree-optimization/49038 980 * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader): 981 Ensure at least one epilogue iteration if required by data 982 accesses with gaps. 983 * tree-vectorizer.h (struct _loop_vec_info): Add new field 984 to mark loops that require peeling for gaps. 985 * tree-vect-loop.c (new_loop_vec_info): Initialize new field. 986 (vect_estimate_min_profitable_iters): Take peeling for gaps into 987 account. 988 (vect_transform_loop): Generate epilogue if required by data 989 access with gaps. 990 * tree-vect-data-refs.c (vect_analyze_group_access): Mark the 991 loop as requiring an epilogue if there are gaps in the end of 992 the strided group. 993 9942011-05-29 Richard Sandiford <rdsandiford@googlemail.com> 995 996 PR target/43700 997 * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global 998 registers. 999 10002011-05-29 Richard Sandiford <rdsandiford@googlemail.com> 1001 1002 PR target/43995 1003 * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a 1004 recurse_p argument. Only follow register copies if it is set, 1005 and prevent mips_find_pic_call_symbol from recursing. 1006 (mips_find_pic_call_symbol): Add a recurse_p argument. 1007 Pass it to mips_pic_call_symbol_from_set. 1008 (mips_annotate_pic_calls): Update accordingly. 1009 10102011-05-26 Eric Botcazou <ebotcazou@adacore.com> 1011 1012 * config/sparc/sparc-protos.h (sparc_optimization_options): Declare. 1013 * config/sparc/sparc.h (OPTIMIZATION_OPTIONS): Define. 1014 * config/sparc/sparc.c (sparc_optimization_options): New function. 1015 Set flag_ira_share_save_slots to 0. 1016 1017 Backport from mainline 1018 2011-01-21 Jeff Law <law@redhat.com> 1019 1020 PR rtl-optimization/41619 1021 * caller-save.c (setup_save_areas): Break out code to determine 1022 which hard regs are live across calls by examining the reload chains 1023 so that it is always used. 1024 Eliminate code which checked REG_N_CALLS_CROSSED. 1025 10262011-05-25 Uros Bizjak <ubizjak@gmail.com> 1027 1028 PR target/49133 1029 * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative. 1030 10312011-05-21 Eric Botcazou <ebotcazou@adacore.com> 1032 1033 * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard 1034 frame pointer. 1035 10362011-05-21 Eric Botcazou <ebotcazou@adacore.com> 1037 1038 * config/sparc/sparc.c (eligible_for_return_delay): Do not return 1039 false if there are call-saved registers here... 1040 (sparc_can_use_return_insn_p): ...but here instead. 1041 (save_or_restore_regs): Fix thinko. 1042 (sparc_expand_prologue): Use current_function_is_leaf. 1043 (sparc_frame_pointer_required): Likewise. 1044 10452011-05-20 Nick Clifton <nickc@redhat.com> 1046 1047 * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo in macro name. 1048 10492011-05-16 Uros Bizjak <ubizjak@gmail.com> 1050 1051 * config/i386/i386.md (*movxf_internal): Disable CONST_DOUBLE 1052 optimization for CM_MEDIUM and CM_LARGE code models. Fix usage 1053 of standard_80387_constant_p. 1054 (*movxf_internal_nointeger): Ditto. 1055 (*movdf_internal): Remove dead code-size optimization. 1056 (*movdf_internal_rex64): Fix usage of standard_80387_constant_p. 1057 (*movdf_internal_nointeger): Ditto. 1058 (*movsf_internal): Ditto. 1059 (floating point move splitters): Ditto. 1060 * config/i386/constraints.md (G): Ditto. 1061 * config/i386/i386.c (ix86_preferred_reload_class): Ditto. 1062 10632011-05-11 Michael Meissner <meissner@linux.vnet.ibm.com> 1064 1065 Backport from mainline 1066 2011-05-10 Michael Meissner <meissner@linux.vnet.ibm.com> 1067 1068 PR target/48857, 48495 1069 * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete. 1070 (VSX_MODE): Ditto. 1071 (VSX_MOVE_MODE): Ditto. 1072 (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and 1073 VSX vector types. Add V2DImode. 1074 (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of 1075 ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls. 1076 (MODES_TIEABLE_P): Ditto. 1077 1078 * config/rs6000/rs6000.c (rs6000_emit_move): Use 1079 ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and 1080 VSX_VECTOR_MODE. 1081 (init_cumulative_args): Ditto. 1082 (rs6000_function_arg_boundary): Ditto. 1083 (rs6000_function_arg_advance_1): Ditto. 1084 (rs6000_function_arg): Ditto. 1085 (rs6000_function_ok_for_sibcall): Ditto. 1086 (emit_frame_save): Ditto. 1087 (rs6000_function_value): Ditto. 1088 (rs6000_libcall_value): Ditto. 1089 10902011-05-10 Jakub Jelinek <jakub@redhat.com> 1091 1092 Backported from mainline 1093 2011-05-07 Zdenek Dvorak <ook@ucw.cz> 1094 1095 PR tree-optimization/48837 1096 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls 1097 when accumulator transformation is performed. 1098 10992011-05-09 Eric Botcazou <ebotcazou@adacore.com> 1100 1101 * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko. 1102 (dataflow_set_preserve_mem_locs): Likewise. 1103 11042011-05-07 Alan Modra <amodra@gmail.com> 1105 1106 PR target/48900 1107 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use 1108 const0_rtx as the arg to the dummy __tls_get_addr libcall. 1109 11102011-05-05 Jason Merrill <jason@redhat.com> 1111 1112 PR c++/40975 1113 * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST. 1114 11152011-05-05 Julian Brown <julian@codesourcery.com> 1116 1117 * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced 1118 parenthesis in D-register case. 1119 11202011-05-05 Ira Rosen <ira.rosen@linaro.org> 1121 1122 Backport from mainline: 1123 2011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org> 1124 Ira Rosen <ira.rosen@linaro.org> 1125 1126 PR target/48252 1127 * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments 1128 to match neon_vzip/vuzp/vtrn_internal. 1129 * config/arm/neon.md (neon_vtrn<mode>_internal): Make both 1130 outputs explicitly dependent on both inputs. 1131 (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise. 1132 11332011-05-04 Uros Bizjak <ubizjak@gmail.com> 1134 1135 Backport from mainline 1136 2011-04-21 Uros Bizjak <ubizjak@gmail.com> 1137 1138 PR target/48708 1139 * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate 1140 vec_extract and vec_concat for non-SSE4_1 targets. 1141 11422011-05-04 Uros Bizjak <ubizjak@gmail.com> 1143 1144 * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>: 1145 Use %v prefix in insn mnemonic to handle TARGET_AVX. 1146 (*movdi_internal): Use "maybe_vex" instead of "vex" in "prefix" 1147 attribute calculation. 1148 (*movdf_internal): Output AVX mnemonics. Add "prefix" attribute. 1149 * config/i386/sse.md (*sse2_storeq_rex64): Do not emit %v prefix 1150 for mov{q} mnemonic. 1151 (*vec_extractv2di_1_rex64_avx): Ditto. 1152 (*vec_concatv2di_rex64_sse4_1): Use %vmovd for reg<->xmm moves. 1153 (*vec_concatv2di_rex64_sse): Use movd for reg<->xmm moves. 1154 * config/i386/mmx.md (*mov<mode>_internal_rex64): Ditto. 1155 11562011-05-03 Uros Bizjak <ubizjak@gmail.com> 1157 Jakub Jelinek <jakub@redhat.com> 1158 1159 PR target/48774 1160 * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode 1161 only succeed if req_mode is the same as set_mode. 1162 11632011-05-03 Jakub Jelinek <jakub@redhat.com> 1164 1165 Backport from mainline 1166 2011-04-30 Jakub Jelinek <jakub@redhat.com> 1167 1168 PR tree-optimization/48809 1169 * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned 1170 type. 1171 (gen_inbound_check): Don't compute index_expr - range_min in utype 1172 again, instead reuse SSA_NAME initialized in build_arrays. 1173 Remove two useless gsi_for_stmt calls. 1174 1175 2011-04-28 Jakub Jelinek <jakub@redhat.com> 1176 1177 PR middle-end/48597 1178 * final.c (final_scan_insn): Call dwarf2out_frame_debug even for 1179 inline asm. 1180 1181 2011-04-27 Jakub Jelinek <jakub@redhat.com> 1182 1183 PR c/48742 1184 * c-typeck.c (build_binary_op): Don't wrap arguments if 1185 int_operands is true. 1186 1187 2011-04-23 Jakub Jelinek <jakub@redhat.com> 1188 1189 PR c/48685 1190 * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting 1191 to VOID_TYPE even around MODIFY_EXPR. 1192 11932011-05-02 Ulrich Weigand <ulrich.weigand@linaro.org> 1194 1195 PR middle-end/43085 1196 Backport from mainline: 1197 1198 2010-04-29 Bernd Schmidt <bernds@codesourcery.com> 1199 1200 From Dominique d'Humieres <dominiq@lps.ens.fr> 1201 PR bootstrap/43858 1202 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute 1203 test_set. 1204 1205 2010-04-26 Bernd Schmidt <bernds@codesourcery.com> 1206 1207 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear, 1208 bits for artificial defs at the top of the block. 1209 * fwprop.c (single_def_use_enter_block): Don't call it. 1210 1211 2010-04-22 Bernd Schmidt <bernds@codesourcery.com> 1212 1213 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and 1214 df_simulate_find_noclobber_defs as appropriate. Keep track of an 1215 extra set merge_set_noclobber, and use it to relax the final test 1216 slightly. 1217 * df.h (df_simulate_find_noclobber_defs): Declare. 1218 * df-problems.c (df_simulate_find_defs): Don't ignore partial or 1219 conditional defs. 1220 (df_simulate_find_noclobber_defs): New function. 1221 12222011-04-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1223 1224 PR target/48288 1225 * config/pa/predicates.md (ior_operand): Delete predicate. 1226 (cint_ior_operand, reg_or_cint_ior_operand): New predicates. 1227 * config/pa/pa.md (iordi3): Use reg_or_cint_ior_operand predicate in 1228 expander. Use cint_ior_operand in unnamed insn. 1229 (iorsi3): Likewise. 1230 * config/pa/pa-protos.h (ior_operand): Delete declarations. 1231 12322011-04-28 Richard Guenther <rguenther@suse.de> 1233 1234 * DEV-PHASE: Set back to prerelease. 1235 * BASE-VER: Bump to 4.5.4. 1236 12372011-04-28 Release Manager 1238 1239 * GCC 4.5.3 released. 1240 12412011-04-21 Richard Guenther <rguenther@suse.de> 1242 1243 PR middle-end/48712 1244 Backport from 4.6 branch 1245 2011-03-07 Zdenek Dvorak <ook@ucw.cz> 1246 1247 PR bootstrap/48000 1248 * cfgloopmanip.c (fix_bb_placements): Return immediately 1249 if FROM is BASE_LOOP's header. 1250 12512011-04-20 Richard Guenther <rguenther@suse.de> 1252 1253 Backport from 4.6 branch 1254 2011-04-19 Bernd Schmidt <bernds@codesourcery.com> 1255 1256 PR fortran/47976 1257 * reload1.c (inc_for_reload): Return void. All callers changed. 1258 (emit_input_reload_insns): Don't try to delete previous output 1259 reloads to a register, or record spill_reg_store for autoincs. 1260 12612011-04-19 Richard Guenther <rguenther@suse.de> 1262 1263 Backported from 4.6 branch 1264 2011-03-29 Jakub Jelinek <jakub@redhat.com> 1265 1266 PR preprocessor/48248 1267 * c-ppoutput.c (print): Add src_file field. 1268 (init_pp_output): Initialize it. 1269 (maybe_print_line): Don't optimize by adding up to 8 newlines 1270 if map->to_file and print.src_file are different file. 1271 (print_line): Update print.src_file. 1272 1273 2011-04-18 Richard Guenther <rguenther@suse.de> 1274 1275 PR preprocessor/48248 1276 * c-ppoutput.c (maybe_print_line): Avoid changing -P behavior. 1277 12782011-04-19 Richard Guenther <rguenther@suse.de> 1279 1280 PR tree-optimization/46188 1281 Backported from 4.6 branch 1282 2010-05-26 Jan Hubicka <jh@suse.cz> 1283 1284 * cgraphunit.c (clone_of_p): Remove. 1285 (verify_cgraph_node): Do not verify clones. 1286 (cgraph_materialize_all_clones): Do no redirection here. 1287 * ipa-inline.c (inline_transform): Do redirection here. 1288 12892011-04-18 Eric Botcazou <ebotcazou@adacore.com> 1290 1291 * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype. 1292 12932011-04-18 Richard Guenther <rguenther@suse.de> 1294 1295 Backported from 4.6 branch 1296 2011-01-19 Jakub Jelinek <jakub@redhat.com> 1297 1298 PR tree-optimization/47290 1299 * tree-eh.c (infinite_empty_loop_p): New function. 1300 (cleanup_empty_eh): Use it. 1301 1302 2010-05-29 Jan Hubicka <jh@suse.cz> 1303 1304 PR tree-optimization/46364 1305 * cgraphunit.c (cgraph_materialize_clone): Only remove calles, refs 1306 and body; 1307 not the whole node for masters of materialized clones. 1308 13092011-04-18 Richard Guenther <rguenther@suse.de> 1310 1311 Backported from 4.6 branch 1312 2011-03-05 Zdenek Dvorak <ook@ucw.cz> 1313 1314 PR rtl-optimization/47899 1315 * cfgloopmanip.c (fix_bb_placements): Fix first argument 1316 to flow_loop_nested_p when moving the loop upward. 1317 1318 2011-03-15 Richard Guenther <rguenther@suse.de> 1319 1320 PR middle-end/48031 1321 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized 1322 or variable-indexed array accesses when in gimple form. 1323 13242011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1325 1326 * config/pa/pa.h (REGISTER_MOVE_COST): Increase to 18 cost of 1327 move from floating point to shift amount register. 1328 1329 Backport from mainline: 1330 2011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1331 1332 PR target/48366 1333 * config/pa/pa.c (emit_move_sequence): Remove secondary reload 1334 support for floating point to shift amount amount register copies. 1335 (pa_secondary_reload): Return GENERAL_REGS for floating point/shift 1336 amount register copies. 1337 * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount 1338 register, return false if mode isn't a scalar integer mode. 1339 * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise. 1340 13412011-04-16 Jakub Jelinek <jakub@redhat.com> 1342 1343 Backported from 4.6 branch 1344 2011-04-15 Jakub Jelinek <jakub@redhat.com> 1345 1346 PR target/48605 1347 * config/i386/sse.md (avx_insertps, sse4_1_insertps): If operands[2] 1348 is a MEM, offset it as needed based on top 2 bits in operands[3], 1349 change MEM mode to SFmode and mask those 2 bits away from operands[3]. 1350 13512011-04-13 Nick Clifton <nickc@redhat.com> 1352 1353 * config/rx/rx.md (movmemsi): Do not use this pattern when 1354 volatile pointers are involved. 1355 13562011-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1357 1358 Backport from mainline: 1359 2011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1360 1361 PR testsuite/47400 1362 * doc/sourcebuild.texi (Require Support): Document 1363 dg-require-ascii-locale. 1364 13652011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> 1366 1367 Backport from mainline: 1368 2011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> 1369 PR target/48090 1370 * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints. 1371 13722011-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1373 1374 Backport from mainline: 1375 2011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1376 1377 * config/alpha/osf.h (MAX_OFILE_ALIGNMENT): Define. 1378 13792011-04-09 Duncan Sands <baldrick@free.fr> 1380 1381 * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set. 1382 13832011-04-07 Uros Bizjak <ubizjak@gmail.com> 1384 1385 * config/i386/sse.md (avx_cmps<ssemodesuffixf2c><mode>3): Add 1386 missing output register constraint. 1387 (*vec_concatv2sf_avx): Fix wrong register constraint in 1388 alternative 3 of operand 1. 1389 (*vec_set<mode>_0_avx): Avoid combining registers from different 1390 units in a single alternative. 1391 (*vec_set<mode>_0_sse4_1): Ditto. 1392 (*vec_set<mode>_0_sse2): Ditto. 1393 (vec_set<mode>_0): Ditto. 1394 (sse2_storehpd): Ditto. 1395 (sse2_loadhpd): Ditto. 1396 (sse4_1_insertps): Use nonimmediate_operand for operand 2. 1397 * config/i386/predicates.md (sse_comparison_operator): Do not 1398 define as special predicate. 1399 14002011-04-07 Jakub Jelinek <jakub@redhat.com> 1401 1402 Backported from mainline 1403 2011-04-06 Jakub Jelinek <jakub@redhat.com> 1404 1405 PR debug/48466 1406 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use 1407 as base_reg whatever register reg has been eliminated to, instead 1408 of hardcoding STACK_POINTER_REGNUM. 1409 1410 2011-03-24 Jakub Jelinek <jakub@redhat.com> 1411 1412 PR debug/48204 1413 * simplify-rtx.c (simplify_const_unary_operation): Call 1414 real_convert when changing mode class with FLOAT_EXTEND. 1415 1416 2011-03-17 Jakub Jelinek <jakub@redhat.com> 1417 1418 PR rtl-optimization/48141 1419 * dse.c (record_store): If no positions are needed in an insn 1420 that cannot be deleted, at least unchain it from active_local_stores. 1421 1422 2011-03-03 Jakub Jelinek <jakub@redhat.com> 1423 1424 PR c/47963 1425 * gimplify.c (omp_add_variable): Only call omp_notice_variable 1426 on TYPE_SIZE_UNIT if it is a DECL. 1427 1428 2011-02-19 Jakub Jelinek <jakub@redhat.com> 1429 1430 PR c/47809 1431 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR. 1432 1433 2011-01-26 Jakub Jelinek <jakub@redhat.com> 1434 1435 PR c/47473 1436 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure 1437 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of 1438 REAL_TYPE. 1439 14402011-04-07 Jakub Jelinek <jakub@redhat.com> 1441 1442 PR tree-optimization/47391 1443 * tree-ssa-ccp.c (get_symbol_constant_value): Don't optimize 1444 if sym is volatile. 1445 1446 Backported from mainline 1447 2010-07-01 Richard Guenther <rguenther@suse.de> 1448 1449 * omp-low.c (scan_omp_1_op): Don't change type of INTEGER_CSTs 1450 directly. 1451 14522011-04-07 Andrey Belevantsev <abel@ispras.ru> 1453 1454 Backport from mainline 1455 2011-03-26 Andrey Belevantsev <abel@ispras.ru> 1456 1457 PR rtl-optimization/48144 1458 * sel-sched-ir.c (merge_history_vect): Factor out from ... 1459 (merge_expr_data): ... here. 1460 (av_set_intersect): Rename to av_set_code_motion_filter. 1461 Update all callers. Call merge_history_vect when an expression 1462 is found in both sets. 1463 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype. 1464 14652011-04-07 Andrey Belevantsev <abel@ispras.ru> 1466 1467 Backport from mainline 1468 2011-01-13 Andrey Belevantsev <abel@ispras.ru> 1469 1470 PR rtl-optimization/45352 1471 * sel-sched.c: Update copyright years. 1472 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state 1473 in the advancing loop when we have issued issue_rate insns. 1474 1475 Backport from mainline 1476 2010-12-22 Andrey Belevantsev <abel@ispras.ru> 1477 1478 PR rtl-optimization/45352 1479 PR rtl-optimization/46521 1480 PR rtl-optimization/46522 1481 * sel-sched.c (reset_sched_cycles_in_current_ebb): Recheck the DFA state 1482 on the last iteration of the advancing loop. 1483 (sel_sched_region_1): Propagate the rescheduling bit to the next block 1484 also for empty blocks. 1485 1486 Backport from mainline 1487 2010-11-08 Andrey Belevantsev <abel@ispras.ru> 1488 1489 PR rtl-optimization/45352 1490 * sel-sched.c (find_best_expr): Do not set pneed_stall when 1491 the variable_issue hook is not implemented. 1492 (fill_insns): Remove dead variable stall_iterations. 1493 (init_seqno_1): Force EBB start for resetting sched cycles on any 1494 successor blocks of the rescheduled region. 1495 (sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit. 1496 (reset_sched_cycles_in_current_ebb): Add debug printing. 1497 New variable issued_insns. Advance state when we have issued 1498 issue_rate insns. 1499 15002011-04-07 Andrey Belevantsev <abel@ispras.ru> 1501 1502 Backport from mainline 1503 2010-12-24 Alexander Monakov <amonakov@ispras.ru> 1504 1505 PR rtl-optimization/47036 1506 * sel-sched-ir.c (fallthru_bb_of_jump): Remove special support for 1507 unconditional jumps. 1508 * sel-sched.c (moveup_expr): Ditto. 1509 15102011-04-07 Andrey Belevantsev <abel@ispras.ru> 1511 1512 Backport from mainline 1513 2010-12-15 Alexander Monakov <amonakov@ispras.ru> 1514 1515 PR rtl-optimization/46649 1516 * sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first 1517 basic block in the region. 1518 15192011-04-07 Andrey Belevantsev <abel@ispras.ru> 1520 1521 Backport from mainline 1522 2010-12-14 Alexander Monakov <amonakov@ispras.ru> 1523 1524 PR rtl-optimization/46875 1525 * sched-vis.c (print_pattern): Dump "sequence" for ADDR_VECs. 1526 * sel-sched-ir.c (bb_has_removable_jump_to_p): Forbid table jumps. 1527 15282011-04-07 Andrey Belevantsev <abel@ispras.ru> 1529 1530 Backport from mainline 1531 2010-12-07 Andrey Belevantsev <abel@ispras.ru> 1532 PR target/43603 1533 * haifa-sched.c (sched_create_recovery_edges): Update 1534 dominator info. 1535 * sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info 1536 after deleting an empty block. 1537 (tidy_control_flow): Also verify dominators. 1538 (sel_remove_bb): Update dominator info after removing a block. 1539 (sel_redirect_edge_and_branch_force): Assert that no unreachable 1540 blocks will be created. Update dominator info. 1541 (sel_redirect_edge_and_branch): Update dominator info when 1542 basic blocks do not become unreachable. 1543 (sel_remove_loop_preheader): Update dominator info. 1544 1545 2010-10-14 Andrey Belevantsev <abel@ispras.ru> 1546 1547 * sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment. 1548 (tidy_control_flow): Tidy vertical space. 1549 (sel_remove_bb): New variable idx. Use it to remember the basic 1550 block index before deleting the block. 1551 (sel_remove_empty_bb): Remove dead code, simplify and insert to ... 1552 (sel_merge_blocks): ... here. 1553 * sel-sched-ir.h (sel_remove_empty_bb): Remove prototype. 1554 15552011-04-07 Andrey Belevantsev <abel@ispras.ru> 1556 1557 Backport from mainline 1558 2010-12-03 Alexander Monakov <amonakov@ispras.ru> 1559 1560 PR rtl-optimization/45354 1561 * sel-sched-ir.c (jump_leads_only_to_bb_p): Rename to ... 1562 (bb_has_removable_jump_to_p): This. Update all callers. Make static. 1563 Allow BBs ending with a conditional jump. Forbid EDGE_CROSSING jumps. 1564 * sel-sched-ir.h (jump_leads_only_to_bb_p): Delete prototype. 1565 15662011-04-07 Andrey Belevantsev <abel@ispras.ru> 1567 1568 Backport from mainline 1569 2010-11-25 Alexander Monakov <amonakov@ispras.ru> 1570 1571 PR rtl-optimization/46585 1572 * sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL. 1573 (vinsn_init): Skip computation of dependencies for local NOPs. 1574 (vinsn_delete): Don't try to free regsets for local NOPs. 1575 (setup_nop_and_exit_insns): Change definition of nop_pattern. 1576 15772011-04-07 Andrey Belevantsev <abel@ispras.ru> 1578 1579 Backport from mainline 1580 2010-11-25 Alexander Monakov <amonakov@ispras.ru> 1581 1582 PR rtl-optimization/46602 1583 * sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ... 1584 (tidy_control_flow): Here. 1585 15862011-04-07 Andrey Belevantsev <abel@ispras.ru> 1587 1588 Backport from mainline 1589 2010-11-22 Alexander Monakov <amonakov@ispras.ru> 1590 1591 PR rtl-optimization/45652 1592 * alias.c (get_reg_base_value): New. 1593 * rtl.h (get_reg_base_value): Add prototype. 1594 * sel-sched.c (init_regs_for_mode): Use it. Don't use registers with 1595 non-null REG_BASE_VALUE for renaming. 1596 15972011-04-07 Andrey Belevantsev <abel@ispras.ru> 1598 1599 Backport from mainline 1600 2010-11-18 Alexander Monakov <amonakov@ispras.ru> 1601 1602 PR middle-end/46518 1603 * sel-sched-ir.c (init_expr): Use the correct type for 1604 target_available. 1605 * sel-sched.c (fill_vec_av_set): Use explicitly signed char type. 1606 16072011-04-07 Andrey Belevantsev <abel@ispras.ru> 1608 1609 Backport from mainline 1610 2010-11-12 Alexander Monakov <amonakov@ispras.ru> 1611 1612 PR rtl-optimization/46204 1613 sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument. 1614 pdate all callers. Do not recompute topological order. Adjust 1615 allthrough edges following a degenerate conditional jump. 1616 16172011-04-07 Andrey Belevantsev <abel@ispras.ru> 1618 1619 Backport from mainline 1620 2010-10-14 Andrey Belevantsev <abel@ispras.ru> 1621 1622 PR rtl-optimization/45570 1623 * sel-sched-ir.c (cfg_preds_1): When walking out of the region, 1624 assert that we are pipelining outer loops. Allow returning 1625 zero predecessors. 1626 16272011-04-06 Joseph Myers <joseph@codesourcery.com> 1628 1629 * gcov-io.c: Use GCC Runtime Library Exception. 1630 16312011-03-30 H.J. Lu <hongjiu.lu@intel.com> 1632 1633 Backport from mainline 1634 2011-03-30 H.J. Lu <hongjiu.lu@intel.com> 1635 1636 PR target/48349 1637 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in 1638 FLOAT_SSE_REGS. 1639 16402011-03-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 1641 1642 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS 1643 for invalid symbolic addresses. 1644 (s390_secondary_reload): Don't use s390_check_symref_alignment for 1645 larl operands. 1646 16472011-03-28 Richard Sandiford <richard.sandiford@linaro.org> 1648 1649 PR target/47553 1650 * config/arm/predicates.md (neon_lane_number): Accept 0..15. 1651 16522011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com> 1653 1654 PR other/48254 1655 * doc/invoke.texi (-fipa-struct-reorg): Fix typo. 1656 16572011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com> 1658 1659 PR other/48179 1660 PR other/48234 1661 * doc/extend.texi (Alignment): Move section to match order in TOC. 1662 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise. 1663 16642011-03-18 H.J. Lu <hongjiu.lu@intel.com> 1665 1666 Backport from mainline 1667 2011-03-17 H.J. Lu <hongjiu.lu@intel.com> 1668 1669 PR target/48171 1670 * config/i386/i386.opt: Add Save to -mavx and -mfma. 1671 16722011-03-16 Pat Haugen <pthaugen@us.ibm.com> 1673 1674 PR target/47862 1675 * caller-save.c (insert_restore, insert_save): Use non-validate 1676 form of adjust_address. 1677 16782011-03-16 Nick Clifton <nickc@redhat.com> 1679 1680 * config/rx/rx.h (JUMP_ALIGN): Define. 1681 (JUMP_ALIGN_MAX_SKIP, LABEL_ALIGN_AFTER_BARRIER, LOOP_ALIGN, 1682 (LABEL_ALIGN, LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP, 1683 (LOOP_ALIGN_MAX_SKIP, LABEL_ALIGN_MAX_SKIP): Define. 1684 * config/rx/rx-protos.h (rx_align_for_label): Prototype. 1685 (rx_max_skip_for_label): Prototype. 1686 * config/rx/rx.md (abssi3): Use CC_ZSmode. 1687 (andis3): Fix timings. 1688 (peephole): Add peephole to combine zero- and sign- extending 1689 loads with arithmetic instructions. 1690 (bset): Fix timing. 1691 (bclr): Fix timing. 1692 * config/rx/rx.c (rx_is_legitimate_address): Add checks for QImode 1693 and HImode reg+int address. 1694 (rx_print_operand): Add support for %R. Fix generation of .B and 1695 .W addressing modes. 1696 (rx_align_for_label): New function. 1697 (rx_max_skip_for_label): New function. 1698 16992011-03-10 Jason Merrill <jason@redhat.com> 1700 1701 PR c++/48029 1702 * stor-layout.c (layout_type): Don't set structural equality 1703 on arrays of incomplete type. 1704 * tree.c (type_hash_eq): Handle comparing them properly. 1705 17062011-03-08 Richard Guenther <rguenther@suse.de> 1707 1708 Backport from mainline 1709 2011-02-10 Richard Guenther <rguenther@suse.de> 1710 1711 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8. 1712 1713 2010-10-18 Richard Guenther <rguenther@suse.de> 1714 1715 PR tree-optimization/45967 1716 * tree-ssa-structalias.c (type_could_have_pointers): Remove. 1717 (could_have_pointers): Likewise. 1718 (handle_rhs_call, handle_const_call, handle_pure_call, 1719 find_func_aliases, intra_create_variable_infos): Remove calls to them. 1720 (struct fieldoff): Add must_have_pointers field. 1721 (type_must_have_pointers): New function. 1722 (field_must_have_pointers): Likewise. 1723 (push_fields_onto_fieldstack): Remove must_have_pointers_p argument. 1724 Adjust field merging. 1725 (create_function_info_for): May-have-pointers of varinfo is 1726 almost always true. 1727 (create_variable_info_for_1): Likewise. 1728 1729 2010-10-12 Richard Guenther <rguenther@suse.de> 1730 1731 * tree-ssa-structalias.c (get_constraint_for_1): Constants 1732 only point to nonlocal, not anything. 1733 17342011-03-08 Richard Guenther <rguenther@suse.de> 1735 1736 PR tree-optimization/47278 1737 * tree.h (DECL_REPLACEABLE_P): Remove. 1738 (decl_replaceable_p): Declare. 1739 (decl_binds_to_current_def_p): Likewise. 1740 * varasm.c (decl_replaceable_p): New function. 1741 (decl_binds_to_current_def_p): Likewise. 1742 * cgraph.c (cgraph_function_body_availability): Use decl_replaceable_p. 1743 * tree-inline.c (inlinable_function_p): Likewise. 1744 17452011-03-07 Pat Haugen <pthaugen@us.ibm.com> 1746 1747 Backport from mainline 1748 2011-03-07 Pat Haugen <pthaugen@us.ibm.com> 1749 1750 PR target/47862 1751 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define. 1752 17532011-03-07 Mingjie Xing <mingjie.xing@gmail.com> 1754 1755 * doc/cfg.texi: Remove "See" before @ref. 1756 * doc/invoke.texi: Likewise. 1757 17582011-03-03 Uros Bizjak <ubizjak@gmail.com> 1759 1760 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX. 1761 (ssse3_pmaddubsw128): Ditto. 1762 (ssse3_pmaddubsw): Ditto. 1763 17642011-03-03 Denis Chertykov <chertykov@gmail.com> 1765 1766 Backport from mainline 1767 2011-02-22 Georg-Johann Lay <avr@gjlay.de> 1768 1769 PR target/42240 1770 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function. 1771 (TARGET_CANNOT_MODIFY_JUMPS_P): Define. 1772 17732011-03-03 Richard Guenther <rguenther@suse.de> 1774 1775 * tree-vect-stmt.c (vectorizable_operation): Remove unused vars. 1776 17772011-03-02 Richard Guenther <rguenther@suse.de> 1778 1779 Backport from mainline 1780 2011-02-07 Richard Guenther <rguenther@suse.de> 1781 1782 PR tree-optimization/47615 1783 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument. 1784 * tree-ssa-sccvn.c (default_vn_walk_kind): New global. 1785 (run_scc_vn): Initialize it. 1786 (visit_reference_op_load): Use it. 1787 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE. 1788 17892011-03-01 Richard Guenther <rguenther@suse.de> 1790 1791 Backport from mainline 1792 2011-02-08 Richard Guenther <rguenther@suse.de> 1793 1794 PR middle-end/47639 1795 * tree-vect-generic.c (expand_vector_operations_1): Update 1796 stmts here ... 1797 (expand_vector_operations): ... not here. Cleanup EH info 1798 and the CFG if required. 1799 18002011-03-01 Richard Guenther <rguenther@suse.de> 1801 1802 Backport from mainline 1803 2011-03-01 Richard Guenther <rguenther@suse.de> 1804 1805 PR tree-optimization/47890 1806 * tree-vect-loop.c (get_initial_def_for_induction): Set 1807 related stmt properly. 1808 1809 2010-12-01 Richard Guenther <rguenther@suse.de> 1810 1811 PR tree-optimization/46723 1812 * tree-vect-loop.c (get_initial_def_for_induction): Strip 1813 conversions from the induction evolution and apply it to 1814 the result instead. 1815 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle 1816 assigns for induction defs. 1817 18182011-02-28 Georg-Johann Lay <avr@gjlay.de> 1819 1820 PR target/45261 1821 * config/avr/avr.c (avr_option_override): Use error on bad options. 1822 (avr_help): New function. 1823 (TARGET_HELP): Define. 1824 18252011-02-26 Gerald Pfeifer <gerald@pfeifer.com> 1826 1827 * doc/invoke.texi (ARC Options): Use CPU instead of cpu. 1828 (ARM Options): Ditto. 1829 (i386 and x86-64 Options): Ditto. 1830 (RX Options): Ditto. 1831 (SPARC Options): Ditto. 1832 18332011-02-26 Tijl Coosemans <tijl@coosemans.org> 1834 1835 * config.gcc (i386-*-freebsd*): Make i486 the default arch on 1836 FreeBSD 6 and later. Generally use cpu generic. 1837 18382011-02-25 Gerald Pfeifer <gerald@pfeifer.com> 1839 1840 * doc/cpp.texi (Obsolete Features): Add background on the 1841 origin of assertions. 1842 Update copyright years. 1843 18442011-02-25 Andriy Gapon <avg@freebsd.org> 1845 1846 PR target/45808 1847 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case. 1848 Update copyright years. 1849 18502011-02-21 Uros Bizjak <ubizjak@gmail.com> 1851 1852 PR target/47840 1853 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32. 1854 (_mm256_insert_epi64): Use _mm_insert_epi64. 1855 18562011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1857 1858 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts. 1859 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock, 1860 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs. 1861 * config/pa/t-pa-hpux11: Add rules to build pthread stubs. 1862 * config/pa/t-pa64: Likewise. 1863 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define. 1864 18652011-02-17 Uros Bizjak <ubizjak@gmail.com> 1866 1867 PR target/43653 1868 * config/i386/i386.c (ix86_secondary_reload): Handle SSE 1869 input reload with PLUS RTX. 1870 18712011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1872 1873 PR pch/14940 1874 * config/alpha/host-osf.c: New file. 1875 * config/alpha/x-osf: New file. 1876 * config.host (alpha*-dec-osf*): Use it. 1877 18782011-02-15 Tijl Coosemans <tijl@coosemans.org> 1879 1880 * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add. 1881 Update copyright years. 1882 18832011-02-11 Bernd Schmidt <bernds@codesourcery.com> 1884 1885 PR rtl-optimization/47166 1886 * reload1.c (emit_reload_insns): Disable the spill_reg_store 1887 mechanism for PRE_MODIFY and POST_MODIFY. 1888 (inc_for_reload): For PRE_MODIFY, return the insn that sets the 1889 reloadreg. 1890 18912011-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1892 1893 Backport from mainline: 1894 2011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1895 1896 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts. 1897 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock, 1898 pthread_mutex_unlock): Remove. 1899 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs. 1900 * config/pa/t-pa64: Likewise. 1901 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against 1902 shared libc if not linking against libpthread. 1903 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. 1904 19052011-02-03 Michael Meissner <meissner@linux.vnet.ibm.com> 1906 1907 Backport from mainline: 1908 2011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com> 1909 1910 PR target/47272 1911 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): 1912 Document using vector double with the load/store builtins, and 1913 that the load/store builtins always use Altivec instructions. 1914 1915 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns 1916 to use altivec memory instructions, even on VSX. 1917 (vector_altivec_store_<mode>): Ditto. 1918 1919 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New 1920 function. 1921 1922 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add 1923 V2DF, V2DI support to load/store overloaded builtins. 1924 1925 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add 1926 altivec load/store builtins for V2DF/V2DI types. 1927 1928 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't 1929 set avoid indexed addresses on power6 if -maltivec. 1930 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use 1931 vector_altivec_load/vector_altivec_store builtins. 1932 (altivec_expand_st_builtin): Ditto. 1933 (altivec_expand_builtin): Add VSX memory builtins. 1934 (rs6000_init_builtins): Add V2DI types to internal types. 1935 (altivec_init_builtins): Add support for V2DF/V2DI altivec 1936 load/store builtins. 1937 (rs6000_address_for_altivec): Insure memory address is appropriate 1938 for Altivec. 1939 1940 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for 1941 vec_vsx_ld and vec_vsx_st. 1942 (vsx_store_<mode>): Ditto. 1943 1944 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type 1945 variables to hold long long types for VSX vector memory builtins. 1946 (RS6000_BTI_unsigned_long_long): Ditto. 1947 (long_long_integer_type_internal_node): Ditti. 1948 (long_long_unsigned_type_internal_node): Ditti. 1949 1950 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC. 1951 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator. 1952 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator. 1953 1954 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin 1955 short cuts. 1956 (vec_vsx_st): Ditto. 1957 1958 Backport from mainline: 1959 2011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com> 1960 1961 PR target/47580 1962 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use 1963 gpc_reg_operand instead of vsx_register_operand to match rs6000.md 1964 generator functions. 1965 (vsx_floatuns<VSi><mode>2): Ditto. 1966 (vsx_fix_trunc<mode><VSi>2): Ditto. 1967 (vsx_fixuns_trunc<mode><VSi>2): Ditto. 1968 19692011-02-02 Nick Clifton <nickc@redhat.com> 1970 1971 Import these patches from the mainline: 1972 2011-01-31 Nick Clifton <nickc@redhat.com> 1973 1974 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered 1975 registers inside interrupt handlers if the handler is not a leaf 1976 function. 1977 1978 2011-01-25 Nick Clifton <nickc@redhat.com> 1979 1980 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types. 1981 * config/rx/rx.c (rx_function_value): Likewise. 1982 (rx_promote_function_mode): Likewise. 1983 (gen_safe_add): Place an outsized immediate value inside an UNSPEC 1984 in order to make it legitimate. 1985 * config/rx/rx.md (adddi3_internal): If the second operand is a 1986 MEM make sure that the first operand is the same as the result 1987 register. 1988 (addsi3_unspec): Delete. 1989 (subdi3): Do not accept immediate operands. 1990 (subdi3_internal): Likewise. 1991 1992 2011-01-24 Richard Henderson <rth@redhat.com> 1993 1994 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept 1995 compound unordered comparisons. 1996 * config/rx/rx.c (rx_split_fp_compare): Remove. 1997 * config/rx/rx-protos.h: Update. 1998 * config/rx/rx.md (gcc_conds, rx_conds): Remove. 1999 (cbranchsf4): Don't call rx_split_fp_compare. 2000 (*cbranchsf4): Use rx_split_cbranch. 2001 (*cmpsf): Don't accept "i" constraint. 2002 (*conditional_branch): Only valid after reload. 2003 (cstoresf4): Merge expander with insn. Don't call 2004 rx_split_fp_compare. 2005 2006 2011-01-22 Nick Clifton <nickc@redhat.com> 2007 2008 * config/rx/rx.md (cstoresf4): Pass comparison operator to 2009 rx_split_fp_compare. 2010 2011 2011-01-22 Nick Clifton <nickc@redhat.com> 2012 2013 * config/rx/rx.md (UNSPEC_CONST): New. 2014 (deallocate_and_return): Wrap the amount popped off the stack in 2015 an UNSPEC_CONST in order to stop it being rejected by 2016 -mmax-constant-size. 2017 (pop_and_return): Add a "(return)" rtx. 2018 (call): Drop the immediate operand. 2019 (call_internal): Likewise. 2020 (call_value): Likewise. 2021 (call_value_internal): Likewise. 2022 (sibcall_internal): Likewise. 2023 (sibcall_value_internal): Likewise. 2024 (sibcall): Likewise. Generate an explicit call using 2025 sibcall_internal. 2026 (sibcall_value): Likewise. 2027 (mov<>): FAIL if a constant operand is not legitimate. 2028 (addsi3_unpsec): New pattern. 2029 2030 * config/rx/rx.c (rx_print_operand_address): Handle UNPSEC 2031 CONSTs. 2032 (ok_for_max_constant): New function. 2033 (gen_safe_add): New function. 2034 (rx_expand_prologue): Use gen_safe_add. 2035 (rx_expand_epilogue): Likewise. 2036 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle 2037 UNSPEC CONSTs. 2038 2039 2011-01-17 Richard Henderson <rth@redhat.com> 2040 2041 * config/rx/predicates.md (rx_constshift_operand): Use match_test. 2042 (rx_restricted_mem_operand): New. 2043 (rx_shift_operand): Use register_operand. 2044 (rx_source_operand, rx_compare_operand): Likewise. 2045 * config/rx/rx.md (addsi3_flags): New expander. 2046 (adddi3): Rewrite as expander. 2047 (adc_internal, *adc_flags, adddi3_internal): New patterns. 2048 (subsi3_flags): New expander. 2049 (subdi3): Rewrite as expander. 2050 (sbb_internal, *sbb_flags, subdi3_internal): New patterns. 2051 2052 * config/rx/rx.c (RX_BUILTIN_SAT): Remove. 2053 (rx_init_builtins): Remove sat builtin. 2054 (rx_expand_builtin): Likewise. 2055 * config/rx/rx.md (ssaddsi3): New. 2056 (*sat): Rename from sat. Represent the CC_REG input. 2057 2058 * config/rx/predicates.md (rshift_operator): New. 2059 * config/rx/rx.c (rx_expand_insv): Remove. 2060 * config/rx/rx-protos.h: Update. 2061 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift 2062 operand to the canonical position. 2063 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly. 2064 (*bitclr, *bitclr_in_memory): Similarly. 2065 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New. 2066 (insv): Retain the zero_extract in the expansion. 2067 2068 * config/rx/rx.md (bswapsi2): Use = not + for output reload. 2069 (bswaphi2, bitinvert, revw): Likewise. 2070 2071 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET. 2072 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise. 2073 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET. 2074 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise. 2075 (bitset, bitset_in_memory): Likewise. 2076 (bitinvert, bitinvert_in_memory): Likewise. 2077 (bitclr, bitclr_in_memory): Likewise. 2078 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise. 2079 (rx_strend, rx_cmpstrn): Likewise. 2080 (rx_setmem): Likewise. Make the source BLKmode to match the dest. 2081 (bitop peep2 patterns): Remove. 2082 2083 * config/rx/rx.c (rx_match_ccmode): New. 2084 * config/rx/rx-protos.h: Update. 2085 * config/rx/rx.md (abssi2): Clobber, don't set flags. 2086 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise. 2087 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise. 2088 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise. 2089 (fix_truncsfsi2, floatsisf2): Likewise. 2090 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New. 2091 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New. 2092 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New. 2093 (*subsi3_flags, *xorsi3_flags): New. 2094 2095 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns. 2096 2097 * config/rx/rx.c (rx_print_operand): Remove workaround for 2098 unsplit comparison operations. 2099 2100 * config/rx/rx.md (movsicc): Split after reload. 2101 (*movsicc): Merge *movsieq and *movsine via match_operator. 2102 (*stcc): New pattern. 2103 2104 * config/rx/rx.c (rx_float_compare_mode): Remove. 2105 * config/rx/rx.h (rx_float_compare_mode): Remove. 2106 * config/rx/rx.md (cstoresi4): Split after reload. 2107 (*sccc): New pattern. 2108 2109 * config/rx/predicates.md (label_ref_operand): New. 2110 (rx_z_comparison_operator): New. 2111 (rx_zs_comparison_operator): New. 2112 (rx_fp_comparison_operator): New. 2113 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes. 2114 Validate that the flags are set properly for the comparison. 2115 (rx_gen_cond_branch_template): Remove. 2116 (rx_cc_modes_compatible): Remove. 2117 (mode_from_flags): New. 2118 (flags_from_code): Rename from flags_needed_for_conditional. 2119 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode. 2120 (rx_select_cc_mode): Likewise. 2121 (rx_split_fp_compare): New. 2122 (rx_split_cbranch): New. 2123 * config/rx/rx.md (most_cond, zs_cond): Remove iterators. 2124 (*cbranchsi4): Use match_operator and rx_split_cbranch. 2125 (*cbranchsf4): Similarly. 2126 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use 2127 match_operator and rx_split_cbranch. 2128 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and 2129 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch. 2130 (*cmpsi): Rename from cmpsi. 2131 (*tstsi): Rename from tstsi. 2132 (*cmpsf): Rename from cmpsf; use CC_Fmode. 2133 (*conditional_branch): Rename from conditional_branch. 2134 (*reveresed_conditional_branch): Remove. 2135 (b<code>): Remove expander. 2136 * config/rx/rx-protos.h: Update. 2137 2138 * config/rx/rx.c (rx_compare_redundant): Remove. 2139 * config/rx/rx.md (cmpsi): Don't use it. 2140 * config/rx/rx-protos.h: Update. 2141 2142 * config/rx/rx-modes.def (CC_F): New mode. 2143 * config/rx/rx.c (rx_select_cc_mode): New. 2144 * config/rx/rx.h (SELECT_CC_MODE): Use it. 2145 * config/rx/rx-protos.h: Update. 2146 21472011-02-01 Richard Guenther <rguenther@suse.de> 2148 2149 PR tree-optimization/47541 2150 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make 2151 sure to have a field at offset zero. 2152 21532011-01-31 Nathan Froyd <froydnj@codesourcery.com> 2154 2155 Backport from mainline: 2156 2010-12-30 Nathan Froyd <froydnj@codesourcery.com> 2157 2158 PR target/44606 2159 * reload1.c (choose_reload_regs): Don't look for equivalences for 2160 output reloads of constant loads. 2161 21622011-01-30 Gerald Pfeifer <gerald@pfeifer.com> 2163 2164 * doc/install.texi (hppa-hp-hpux10): Remove references to HP 2165 support sites. 2166 21672011-01-30 Gerald Pfeifer <gerald@pfeifer.com> 2168 2169 * doc/install.texi: Update copyright years. 2170 21712011-01-30 Gerald Pfeifer <gerald@pfeifer.com> 2172 2173 * doc/install.texi (Binaries): Remove outdated reference for 2174 Motorola 68HC11/68HC12 downloads. 2175 21762011-01-30 Gerald Pfeifer <gerald@pfeifer.com> 2177 2178 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich 2179 Drepper's paper. 2180 21812011-01-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2182 2183 Backport from mainline: 2184 2010-08-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2185 2186 PR boehm-gc/34544 2187 * gthr-posix.h (__gthread_active_init): Delete. 2188 (__gthread_active_p): Do activity check here. 2189 Don't include errno.h on hppa-hpux. Update comment. 2190 * gthr-posix95.h (__gthread_active_init): Delete. 2191 (__gthread_active_p): Do activity check here. 2192 Don't include errno.h on hppa-hpux. Update comment. 2193 * config.gcc (hppa[12]*-*-hpux11*): Define extra_parts. 2194 * config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only 2195 add -lpthread when -mt or -pthread is specified. 2196 * config/pa/pa-hpux11.h (LIB_SPEC): likewise. 2197 (LINK_GCC_C_SEQUENCE_SPEC): Define. 2198 * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define. 2199 (stublib.c, pthread_default_stacksize_np-stub.o, 2200 pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o, 2201 $(T)libgcc_stub.a): Add methods. 2202 * config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs. 2203 (stublib.c, pthread_default_stacksize_np-stub.o, 2204 pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods. 2205 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock, 2206 pthread_mutex_unlock): New stubs. 2207 22082011-01-26 Eric Botcazou <ebotcazou@adacore.com> 2209 2210 PR rtl-optimization/44469 2211 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too 2212 after removing trivially dead basic blocks. 2213 22142011-01-25 Richard Guenther <rguenther@suse.de> 2215 2216 PR tree-optimization/47411 2217 Backport from mainline 2218 2010-06-30 Michael Matz <matz@suse.de> 2219 2220 PR bootstrap/44699 2221 * tree-vrp.c (vrp_finalize): Deal with changing num_ssa_names. 2222 22232011-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2224 2225 Backport from mainline. 2226 2010-09-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2227 2228 PR target/44392 2229 * config/arm/arm.md (bswapsi2): Handle condition correctly 2230 for armv6 and optimize_size. 2231 22322011-01-21 Richard Guenther <rguenther@suse.de> 2233 2234 PR tree-optimization/47365 2235 * tree-ssa-sccvn.h (vn_lookup_kind): Declare. 2236 (vn_reference_lookup_pieces): Adjust. 2237 (vn_reference_lookup): Likewise. 2238 * tree-ssa-sccvn.c (vn_walk_kind): New static global. 2239 (vn_reference_lookup_3): Only look through kills if in 2240 VN_WALKREWRITE mode. 2241 (vn_reference_lookup_pieces): Adjust. 2242 (vn_reference_lookup): Likewise. 2243 (visit_reference_op_load): Likewise. 2244 (visit_reference_op_store): Likewise. 2245 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode. 2246 (compute_avail): Likewise. 2247 (eliminate): Likewise. 2248 22492011-01-20 Richard Guenther <rguenther@suse.de> 2250 2251 PR tree-optimization/47167 2252 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): 2253 Revert previous change, only avoid enumeral type changes. 2254 22552011-01-17 H.J. Lu <hongjiu.lu@intel.com> 2256 2257 Backport from mainline 2258 2011-01-17 H.J. Lu <hongjiu.lu@intel.com> 2259 2260 PR target/47318 2261 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to 2262 __m128i. 2263 (_mm_maskstore_pd): Likewise. 2264 (_mm_maskload_ps): Likewise. 2265 (_mm_maskstore_ps): Likewise. 2266 (_mm256_maskload_pd): Change mask to __m256i. 2267 (_mm256_maskstore_pd): Likewise. 2268 (_mm256_maskload_ps): Likewise. 2269 (_mm256_maskstore_ps): Likewise. 2270 2271 * config/i386/i386-builtin-types.def: Updated. 2272 (ix86_expand_special_args_builtin): Likewise. 2273 2274 * config/i386/i386.c (bdesc_special_args): Update 2275 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps, 2276 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256, 2277 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps, 2278 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256. 2279 2280 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>): 2281 Use <avxpermvecmode> on mask register. 2282 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise. 2283 22842011-01-17 Olivier Hainque <hainque@adacore.com> 2285 Michael Haubenwallner <michael.haubenwallner@salomon.at> 2286 Eric Botcazou <ebotcazou@adacore.com> 2287 2288 PR target/46655 2289 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only 2290 if <= USHRT_MAX in 32-bit mode. 2291 22922011-01-17 Richard Guenther <rguenther@suse.de> 2293 2294 Backport from mainline 2295 PR tree-optimization/47286 2296 * tree-ssa-structalias.c (new_var_info): Register variables 2297 are global. 2298 2299 PR tree-optimization/44592 2300 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Copy 2301 from trunk. 2302 23032011-01-16 Jakub Jelinek <jakub@redhat.com> 2304 2305 Backport from mainline 2306 2011-01-07 Jakub Jelinek <jakub@redhat.com> 2307 2308 PR target/47201 2309 * config/i386/i386.c (ix86_delegitimize_address): If 2310 simplify_gen_subreg fails, return orig_x. 2311 2312 2011-01-06 Jakub Jelinek <jakub@redhat.com> 2313 2314 PR c/47150 2315 * c-convert.c (convert): When converting a complex expression 2316 other than COMPLEX_EXPR to a different complex type, ensure 2317 c_save_expr is called instead of save_expr, unless in_late_binary_op. 2318 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also 2319 when converting COMPLEX_TYPE. 2320 2321 2010-12-21 Jakub Jelinek <jakub@redhat.com> 2322 2323 PR target/46880 2324 * config/i386/sse.md (sse2_loadlpd, sse2_movsd): Fix shufpd source 2325 operand. 2326 2327 PR middle-end/45852 2328 * expr.c (store_expr): Ignore alt_rtl if equal to target, 2329 but has side-effects. 2330 2331 2010-12-16 Jakub Jelinek <jakub@redhat.com> 2332 2333 PR tree-optimization/43655 2334 * tree-ssa-ter.c (is_replaceable_p): Don't use 2335 gimple_references_memory_p for -O0, instead check for load 2336 by looking at rhs. 2337 2338 PR debug/46893 2339 * cfgexpand.c (expand_debug_expr): If GET_MODE (op0) is VOIDmode, 2340 use TYPE_MODE (TREE_TYPE (tem)) instead of mode1. 2341 2342 2010-12-10 Jakub Jelinek <jakub@redhat.com> 2343 2344 PR rtl-optimization/46804 2345 * regmove.c (optimize_reg_copy_3): Look for REG_EQUAL note 2346 on the setter of src_reg rather than on insn. If it is 2347 equal to the setter's original SET_SRC, replace it with its 2348 zero or sign extension instead of dropping it. 2349 2350 PR rtl-optimization/46865 2351 * rtl.c (rtx_equal_p_cb, rtx_equal_p): For last operand of 2352 ASM_OPERANDS and ASM_INPUT if integers are different, 2353 call locator_eq. 2354 * jump.c (rtx_renumbered_equal_p): Likewise. 2355 2356 PR tree-optimization/46864 2357 * tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even 2358 when there are EDGE_EH exit edges. 2359 2360 2010-12-09 Jakub Jelinek <jakub@redhat.com> 2361 2362 PR target/41082 2363 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Use stvx 2364 instead of stve*x. 2365 (altivec_expand_stv_builtin): For op0 use mode of operand 1 instead 2366 of operand 0. 2367 * config/rs6000/altivec.md (VI_scalar): New mode attr. 2368 (altivec_stve<VI_char>x, *altivec_stvesfx): Use scalar instead of 2369 vector mode for operand 0, put operand 1 into UNSPEC. 2370 23712011-01-13 Nick Clifton <nickc@redhat.com> 2372 2373 Import this fix from the mainline: 2374 2010-10-19 Nick Clifton <nickc@redhat.com> 2375 2376 * config/rx/rx.c (rx_function_value): Small integer types are 2377 promoted to SImode. 2378 (rx_promote_function_mode): New function. 2379 (TARGET_PROMOTE_FUNCTION_MODE): Define. 2380 23812011-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2382 2383 Backport from mainline: 2384 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2385 2386 PR target/43309 2387 * config/i386/i386.c (legitimize_tls_address) 2388 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS. 2389 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare. 2390 (tls_initial_exec_64_sun): New pattern. 2391 23922011-01-03 Eric Botcazou <ebotcazou@adacore.com> 2393 2394 Backport from mainline 2395 2010-12-30 Eric Botcazou <ebotcazou@adacore.com> 2396 2397 PR target/47038 2398 * config/sparc/sparc.c (sparc_file_end): Call resolve_unique_section 2399 on the GOT helper if USE_HIDDEN_LINKONCE. 2400 2401 2010-12-02 Eric Botcazou <ebotcazou@adacore.com> 2402 2403 PR target/46685 2404 * config/sparc/sparc.c (can_use_mov_pic_label_ref): New predicate. 2405 (sparc_expand_move): Call it to decide whether to emit the special 2406 mov{si,di}_pic_label_ref patterns. 2407 (sparc_legitimize_pic_address): Call it to decide whether to emit 2408 the regular PIC sequence for labels. Fix long line. 2409 (sparc_file_end): Set is_thunk for the PIC helper. 2410 24112010-12-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2412 2413 * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean 2414 patterns. 2415 24162010-12-27 Yao Qi <yao@codesourcery.com> 2417 2418 Backport from mainline: 2419 2010-10-14 Yao Qi <yao@codesourcery.com> 2420 2421 PR target/45447 2422 * config/arm/arm.c (arm_build_builtin_va_list): Assign 2423 va_list_name to TYPE_STUB_DECL (va_list_type). 2424 24252010-12-23 Sebastian Pop <sebastian.pop@amd.com> 2426 Richard Guenther <rguenther@suse.de> 2427 2428 PR tree-optimization/46758 2429 * graphite-sese-to-poly.c (scan_tree_for_params_right_scev): Use 2430 tree_int_to_gmp instead of int_cst_value. 2431 (scan_tree_for_params_int): Same. 2432 (scan_tree_for_params): Same. 2433 (pdr_add_data_dimensions): Use ppl_set_inhomogeneous_tree. 2434 24352010-12-23 Sebastian Pop <sebastian.pop@amd.com> 2436 2437 Backport from mainline 2438 Fix PR45758: reset scevs before Graphite. 2439 2010-09-24 Sebastian Pop <sebastian.pop@amd.com> 2440 2441 PR tree-optimization/45552 2442 * graphite.c (graphite_initialize): Call scev_reset. 2443 24442010-12-23 Sebastian Pop <sebastian.pop@amd.com> 2445 2446 PR tree-optimization/43023 2447 * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p): 2448 Removed. 2449 (stores_zero_from_loop): Call stmt_stores_zero. 2450 (stmt_with_adjacent_zero_store_dr_p): New. 2451 * tree-data-ref.h (stmt_with_adjacent_zero_store_dr_p): Declared. 2452 (stride_of_unit_type_p): New. 2453 * tree-loop-distribution.c (generate_memset_zero): Do not return a 2454 boolean. Call gcc_assert on stride_of_unit_type_p. 2455 (generate_builtin): Call stmt_stores_zero. 2456 (rdg_flag_all_uses): Removed. 2457 (rdg_flag_similar_memory_accesses): Removed. 2458 (build_rdg_partition_for_component): Removed parameter 2459 other_stores. Removed call to rdg_flag_similar_memory_accesses. 2460 (can_generate_builtin): New. 2461 (similar_memory_accesses): New. 2462 (fuse_partitions_with_similar_memory_accesses): New. 2463 (rdg_build_partitions): Call 2464 fuse_partitions_with_similar_memory_accesses. 2465 24662010-12-21 Martin Jambor <mjambor@suse.cz> 2467 2468 Backport from mainline: 2469 2010-12-09 Martin Jambor <mjambor@suse.cz> 2470 2471 PR middle-end/46734 2472 * tree-sra.c (splice_param_accesses): Check that there are not 2473 multiple ADDRESSABLE types. 2474 24752010-12-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2476 2477 Backport from mainline: 2478 2010-12-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2479 2480 PR target/46915 2481 * config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead 2482 of next_real_insn. Search forward checking for both ASM_INPUT and 2483 ASM_OPERANDS asms until exit condition is found. 2484 (branch_needs_nop_p): Likewise. 2485 (use_skip_p): New function. 2486 (output_cbranch): Use use_skip_p. 2487 (output_bb, output_bvb): Likewise. 2488 24892010-12-19 Eric Botcazou <ebotcazou@adacore.com> 2490 2491 PR target/46729 2492 * config/sparc/sparc.h (GLOBAL_OFFSET_TABLE_REGNUM): New macro. 2493 (PIC_OFFSET_TABLE_REGNUM): Rewrite in terms of above macro. 2494 * config/sparc/sparc.c (pic_helper_needed): Delete. 2495 (global_offset_table): Likewise. 2496 (pic_helper_symbol): Rename to... 2497 (got_helper_rtx): ...this. 2498 (global_offset_table_rtx): New global variable. 2499 (sparc_got_symbol): Likewise. 2500 (sparc_got): New static function. 2501 (check_pic): Use local variable and call sparc_got. 2502 (sparc_tls_symbol): Initialize to NULL_RTX. 2503 (sparc_tls_got): In non-PIC mode, reload the GOT register for Sun TLS 2504 and 32-bit ABI and copy the GOT symbol to a new register otherwise. 2505 (get_pc_thunk_name): Rename local variable. 2506 (gen_load_pcrel_sym): New wrapper around load_pcrel_sym{si,di}. 2507 (load_pic_register): Rename to... 2508 (load_got_register): ...this. Adjust and call gen_load_pcrel_sym. 2509 (sparc_expand_prologue): Do not test flag_pic. 2510 (sparc_output_mi_thunk): Use pic_offset_table_rtx directly. 2511 (sparc_file_end): Test got_helper_rtx instead of pic_helper_needed. 2512 Rename local variable and do not call get_pc_thunk_name again. 2513 * config/sparc/sparc.md (load_pcrel_sym): Add operand #3. 2514 25152010-12-18 Alexandre Oliva <aoliva@redhat.com> 2516 2517 PR debug/46756 2518 * jump.c (mark_all_labels): Skip debug insns. 2519 25202010-12-18 Alexandre Oliva <aoliva@redhat.com> 2521 2522 PR debug/46782 2523 * cfgcleanup.c (try_forward_edges): Skip debug insns. 2524 25252010-12-16 Eric Botcazou <ebotcazou@adacore.com> 2526 2527 * tree-ssa-sccvn.c (vn_reference_lookup_3): Always punt if the call to 2528 get_ref_base_and_extent returns -1 as the max size. 2529 25302010-12-16 Richard Guenther <rguenther@suse.de> 2531 2532 * DEV-PHASE: Set back to prerelease. 2533 * BASE-VER: Bump to 4.5.3. 2534 25352010-12-16 Release Manager 2536 2537 * GCC 4.5.2 released. 2538 25392010-12-07 Jakub Jelinek <jakub@redhat.com> 2540 2541 Backport from mainline 2542 2010-12-06 Jakub Jelinek <jakub@redhat.com> 2543 2544 PR target/43897 2545 * config/ia64/ia64.c (rtx_needs_barrier): Handle asm CLOBBER 2546 as a store into that register. 2547 2548 PR rtl-optimization/46777 2549 * cfglayout.c (duplicate_insn_chain): Avoid duplicating 2550 also barrier after tablejump. 2551 2552 2010-11-24 Jakub Jelinek <jakub@redhat.com> 2553 2554 PR rtl-optimization/46614 2555 * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define. 2556 (deps_analyze_insn): Mark JUMP_INSNs in 2557 last_pending_memory_flush that weren't added through 2558 flush_pending_lists with NON_FLUSH_JUMP_KIND. 2559 (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P 2560 on INSN_LIST instead of JUMP_P check on its operand. 2561 * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND. 2562 2563 PR middle-end/46629 2564 * cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn) 2565 instead of insn with any_condjump_p. 2566 2567 2010-11-23 Jakub Jelinek <jakub@redhat.com> 2568 2569 PR middle-end/46499 2570 * cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs 2571 following unconditional jumps. 2572 25732010-12-07 Sebastian Pop <sebastian.pop@amd.com> 2574 2575 Backport from mainline: 2576 2010-05-07 Sebastian Pop <sebastian.pop@amd.com> 2577 2578 PR tree-optimization/44676 2579 * graphite-sese-to-poly.c (loop_entry_phi_arg): Renamed 2580 phi_arg_in_outermost_loop. 2581 (remove_simple_copy_phi): Call phi_arg_in_outermost_loop. 2582 (remove_invariant_phi): Same. 2583 25842010-12-07 Jakub Jelinek <jakub@redhat.com> 2585 2586 Backport from mainline 2587 2010-11-19 Jakub Jelinek <jakub@redhat.com> 2588 2589 PR target/45870 2590 * dwarf2out.c (const_ok_for_output_1): Don't complain about 2591 non-delegitimized TLS UNSPECs. 2592 2593 2010-11-18 Jakub Jelinek <jakub@redhat.com> 2594 2595 PR middle-end/46534 2596 * builtins.c (fold_builtin_printf): Don't copy and modify string 2597 before build_string_literal, instead modify what 2598 build_string_literal returned. 2599 2600 2010-11-17 Jakub Jelinek <jakub@redhat.com> 2601 2602 PR rtl-optimization/46440 2603 * combine.c (update_cfg_for_uncondjump): When changing 2604 an indirect jump into unconditional jump, remove BARRIERs 2605 from bb's footer. 2606 2607 2010-11-16 Jakub Jelinek <jakub@redhat.com> 2608 2609 PR c++/46401 2610 * c-common.c (warning_candidate_p): Don't track non-const calls 2611 or STRING_CSTs. 2612 26132010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2614 2615 Backport from mainline: 2616 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2617 2618 * doc/sourcebuild.texi (Add Options): Document tls. 2619 26202010-12-06 Richard Guenther <rguenther@suse.de> 2621 2622 PR tree-optimization/46806 2623 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do not 2624 coalesce different types. 2625 26262010-12-05 Richard Guenther <rguenther@suse.de> 2627 Ira Rosen <irar@il.ibm.com> 2628 2629 PR tree-optimization/46663 2630 * tree-vect-patterns.c (vect_recog_pow_pattern): Check that 2631 FUNCTION_DECL exists and that it's a builtin. 2632 26332010-12-03 Jason Merrill <jason@redhat.com> 2634 2635 PR debug/46123 2636 * dwarf2out.c (gen_type_die_with_usage): Don't put local types in 2637 a declaration DIE. 2638 26392010-12-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2640 2641 Backport from mainline: 2642 2010-09-15 Olivier Hainque <hainque@adacore.com> 2643 Jose Ruiz <ruiz@adacore.com> 2644 2645 * config/alpha/osf.h (MD_UNWIND_SUPPORT): Define. 2646 * config/alpha/osf-unwind.h: New file. 2647 26482010-12-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2649 2650 Backport from mainline: 2651 2010-11-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2652 2653 * config/mips/iris6.h [!IRIX_USING_GNU_LD] 2654 (SUPPORTS_INIT_PRIORITY): Define. 2655 26562010-12-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2657 2658 Backport from mainline: 2659 2010-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2660 2661 * configure.ac (*-*-irix6*): Disable set_have_as_tls. 2662 (*-*-osf*): Likewise. 2663 * configure: Regenerate. 2664 26652010-11-29 H.J. Lu <hongjiu.lu@intel.com> 2666 2667 Backport from mainline 2668 PR middle-end/46651 2669 2010-07-22 Sebastian Pop <sebastian.pop@amd.com> 2670 2671 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use 2672 SSA_NAME_DEF_STMT only on SSA_NAMEs. 2673 26742010-11-29 Zdenek Dvorak <rakdver@kam.uniff.cz> 2675 2676 PR tree-optimization/46675 2677 * tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow 2678 in offset calculation. 2679 26802010-11-29 Alexandre Oliva <aoliva@redhat.com> 2681 2682 PR debug/46258 2683 * tree-cfg.c (replace_uses_by): Don't mark BBs as altered on 2684 debug stmts. 2685 26862010-11-22 Uros Bizjak <ubizjak@gmail.com> 2687 2688 PR middle-end/43057 2689 * fold-const.c (pedantic_non_lvalue_loc): Unshare x before 2690 setting location. 2691 26922010-11-21 Richard Henderson <rth@redhat.com> 2693 2694 PR rtl-optimization/46571 2695 * gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn. 2696 (compute_hash_table_work): Use NONDEBUG_INSN_P. 2697 26982010-11-21 Eric Botcazou <ebotcazou@adacore.com> 2699 2700 * config/mips/mips.c (machine_function): Rename load_label_length to 2701 load_label_num_insns. 2702 (mips_load_label_length): Rename to... 2703 (mips_load_label_num_insns): ...this. Adjust to first renaming. 2704 (mips_adjust_insn_length): Adjust to second renaming. Fix thinko. 2705 27062010-11-20 Eric Botcazou <ebotcazou@adacore.com> 2707 2708 PR target/31100 2709 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to... 2710 * config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here. 2711 * config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine. 2712 27132010-11-19 Joseph Myers <joseph@codesourcery.com> 2714 2715 PR c/46547 2716 * c-common.c (in_late_binary_op): Define. 2717 (c_common_truthvalue_conversion): Check in_late_binary_op before 2718 calling c_save_expr. 2719 * c-common.h (in_late_binary_op): Declare. 2720 * c-tree.h (in_late_binary_op): Move to c-common.h. 2721 * c-typeck.c (in_late_binary_op): Move to c-common.c. 2722 27232010-11-17 Richard Guenther <rguenther@suse.de> 2724 2725 PR tree-optimization/46498 2726 * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info. 2727 27282010-11-17 Alan Modra <amodra@gmail.com> 2729 2730 PR target/45807 2731 * config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete. 2732 * config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete. 2733 * config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init): 2734 Delete. 2735 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete. 2736 (rs6000_emit_prologue): Don't just create frame save info for r2, 2737 actually save r2. 2738 27392010-11-17 Alan Modra <amodra@gmail.com> 2740 2741 PR target/44266 2742 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use 2743 emit_library_call machinery to set up __tls_get_addr calls. 2744 27452010-11-16 Eric Botcazou <ebotcazou@adacore.com> 2746 2747 PR rtl-optimization/46315 2748 * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare. 2749 * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function 2750 extracted from... 2751 * dce.c (delete_corresponding_reg_eq_notes): ...here. Rename into... 2752 (remove_reg_equal_equiv_notes_for_defs): ...this. 2753 (delete_unmarked_insns): Adjust to above renaming. 2754 * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes 2755 referring to registers set in the insns being moved, if any. 2756 2757 * df-core.c (df_ref_dump): New function extracted from... 2758 (df_refs_chain_dump): ...here. Call it. 2759 (df_regs_chain_dump): Likewise. 2760 * df-problems.c (df_chain_dump): Print 'e' for uses in notes. 2761 * df-scan.c (df_scan_start_dump): Likewise. Fix long line. 2762 27632010-11-16 Richard Guenther <rguenther@suse.de> 2764 2765 PR tree-optimization/44545 2766 * tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing 2767 statements are not reassociatable. 2768 (reassociate_bb): Likewise. 2769 27702010-11-15 Jakub Jelinek <jakub@redhat.com> 2771 2772 PR tree-optimization/46491 2773 Backport from mainline 2774 2775 2010-05-14 Jan Hubicka <jh@suse.cz> 2776 * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string. 2777 27782010-11-12 Olivier Hainque <hainque@adacore.com> 2779 2780 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite 2781 switch on insn codes as sequence of ifs. 2782 27832010-11-12 Alexander Monakov <amonakov@ispras.ru> 2784 2785 Backport from mainline: 2786 2010-08-19 Andrey Belevantsev <abel@ispras.ru> 2787 2788 PR rtl-optimization/44691 2789 * sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG 2790 is not a register. 2791 27922010-11-12 Richard Guenther <rguenther@suse.de> 2793 2794 Backport from mainline 2795 2010-11-09 Richard Guenther <rguenther@suse.de> 2796 2797 PR tree-optimization/46355 2798 * tree-loop-distribution.c (tree_loop_distribution): Do not 2799 distribute loops without a single exit. 2800 2801 2010-11-02 Richard Guenther <rguenther@suse.de> 2802 2803 PR tree-optimization/46177 2804 * tree-loop-distribution.c (prop_phis): Use 2805 mark_virtual_phi_result_for_renaming. 2806 2807 2010-11-09 Richard Guenther <rguenther@suse.de> 2808 2809 PR tree-optimization/46177 2810 * tree-loop-distribution.c (prop_phis): Remove. 2811 (generate_builtin): Re-use the old loop exit edge to avoid 2812 needing to update PHI nodes. 2813 28142010-11-11 Jakub Jelinek <jakub@redhat.com> 2815 2816 Backport from mainline 2817 2010-11-05 Jakub Jelinek <jakub@redhat.com> 2818 2819 PR c/44772 2820 * c-decl.c (warn_cxx_compat_finish_struct): Don't call 2821 pointer_set_contains if DECL_NAME is NULL. 2822 2823 PR tree-optimization/46099 2824 * tree-parloops.c (take_address_of): Add GSI argument. Return NULL 2825 if it is NULL and uid wasn't found in the hash table. Just fold the 2826 result if it is NULL otherwise. Insert other potentially needed 2827 stmts right before current stmt instead of on the entry edge. 2828 (struct elv_data): Add gsi and reset fields. 2829 (eliminate_local_variables_1): Adjust caller. If take_address_of 2830 failed for debug stmt, set dta->reset and return. 2831 (eliminate_local_variables_stmt): Change STMT argument for GSI, 2832 pass GSI through to the callback, handle resetting of debug stmts. 2833 (eliminate_local_variables): Adjust caller. Process debug stmts 2834 in second phase. 2835 2836 PR middle-end/43690 2837 * gimplify.c (gimplify_asm_expr): If a "m" input is a 2838 {pre,post}{in,de}crement, fail. 2839 2840 2010-11-03 Jakub Jelinek <jakub@redhat.com> 2841 2842 PR tree-optimization/46165 2843 * tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing 2844 a normal call into noreturn call. 2845 2846 PR tree-optimization/46107 2847 * cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags 2848 if cfg_hook_duplicate_loop_to_header_edge failed. 2849 28502010-11-10 Uros Bizjak <ubizjak@gmail.com> 2851 2852 PR middle-end/46419 2853 * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi. 2854 (_mm_cvtpu16_ps): Ditto. 2855 28562010-11-09 Sebastian Pop <sebastian.pop@amd.com> 2857 2858 PR tree-optimization/45314 2859 Backport of revision 163132. 2860 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out 2861 of SSA copies on edges except for loop->latch. 2862 28632010-11-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2864 2865 PR rtl-optimization/46237 2866 * ira-conflicts.c (ira_build_conflicts): Record conflicts for call 2867 saved hard regs if they might get partially clobbered. 2868 28692010-11-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2870 2871 PR debug/45939 2872 * var-tracking.c (emit_note_insn_var_location): Make sure that 2873 call related var location notes come before the normal ones. 2874 28752010-11-04 Uros Bizjak <ubizjak@gmail.com> 2876 2877 Revert: 2878 2010-10-30 Uros Bizjak <ubizjak@gmail.com> 2879 2880 PR middle-end/44569 2881 * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements, 2882 determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX. 2883 28842010-11-04 Alan Modra <amodra@gmail.com> 2885 2886 * config/rs6000/rs6000.c (rs6000_pic_labelno): Make static. 2887 (rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when 2888 TARGET_SECURE_PLT. 2889 * config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare. 2890 * config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint 2891 on input, "r" on output. 2892 28932010-11-02 Ira Rosen <irar@il.ibm.com> 2894 2895 PR tree-optimization/45902 2896 * tree-vectorizer.h (enum stmt_vec_info_type): Add new value for shift. 2897 (vect_get_slp_defs): Add arguments. 2898 * tree-vect-stmts.c (cost_for_stmt): Handle shifts. 2899 (vect_get_vec_def_for_operand): Use operand's 2900 type to determine number of units in the created vector. 2901 (vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs. 2902 (vectorizable_shift): New function. 2903 (vectorizable_operation): Move code that handles shifts to 2904 vectorizable_shift. 2905 (vectorizable_type_demotion): Pass scalar operands to 2906 vect_get_slp_defs. 2907 (vectorizable_type_promotion, vectorizable_store): Likewise. 2908 (vect_analyze_stmt): Call vectorizable_shift. 2909 (vect_transform_stmt): Likewise. 2910 * tree-vect-slp.c (vect_get_constant_vectors): Add new argument. 2911 Use it as the operand to create vectors except for stores. 2912 (vect_get_slp_defs): Add new arguments. Pass them to 2913 vect_get_constant_vectors. 2914 29152010-10-30 Uros Bizjak <ubizjak@gmail.com> 2916 2917 PR middle-end/44569 2918 * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements, 2919 determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX. 2920 29212010-10-30 Uros Bizjak <ubizjak@gmail.com> 2922 2923 PR target/46153 2924 * config/i386/sse.md (sse_movhlps_exp): Use destination 2925 returned from ix86_fixup_binary_operands to expand insn. 2926 (sse_movlhps_exp): Ditto. 2927 (sse_loadhps_exp): Ditto. 2928 (sse_loadlps_exp): Ditto. 2929 (sse2_loadhpd_exp): Ditto. 2930 (sse2_loadlpd_exp): Ditto. 2931 29322010-10-29 Richard Henderson <rth@redhat.com> 2933 2934 PR rtl-opt/46226 2935 * stmt.c (expand_asm_operands): Call do_pending_stack_adjust 2936 for asm goto. 2937 29382010-10-27 Eric Botcazou <ebotcazou@adacore.com> 2939 2940 * config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust 2941 for newer Solaris 10 release. 2942 (sparc_fallback_frame_state): Likewise. 2943 29442010-10-26 Ira Rosen <irar@il.ibm.com> 2945 2946 PR tree-optimization/46167 2947 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that 2948 there is basic block for the statement. 2949 29502010-10-24 Eric Botcazou <ebotcazou@adacore.com> 2951 2952 * reg-stack.c (convert_regs_1): Return boolean value, true if the CFG 2953 has been modified. 2954 (convert_regs_2): Likewise. Adjust calls to convert_regs_1. 2955 (convert_regs): Adjust calls to convert_regs_2. Clean up the CFG if 2956 it has been modified. 2957 29582010-10-22 Uros Bizjak <ubizjak@gmail.com> 2959 2960 PR target/46098 2961 * config/i386/sse.md (*avx_movup<avxmodesuffixf2c><avxmodesuffix>): 2962 Rename from avx_movup<avxmodesuffixf2c><avxmodesuffix>. 2963 (avx_movup<avxmodesuffixf2c><avxmodesuffix>): New expander. 2964 (*<sse>_movup<ssemodesuffixf2c>): Rename from 2965 <sse>_movup<ssemodesuffixf2c>. 2966 (<sse>_movup<ssemodesuffixf2c>): New expander. 2967 (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>. 2968 (avx_movdqu<avxmodesuffix>): New expander. 2969 (*sse2_movdqu): Rename from sse2_movdqu. 2970 (sse2_movdqu): New expander. 2971 29722010-10-22 Uros Bizjak <ubizjak@gmail.com> 2973 2974 PR target/45946 2975 * config/i386/i386.md (*pushti2): New insn pattern. 2976 (pushti2 splitter): New insn splitter. 2977 29782010-10-20 Vladimir Makarov <vmakarov@redhat.com> 2979 2980 PR fortran/42169 2981 * ira-emit.c (store_can_be_removed_p): Return false instead of 2982 gcc_unreachable. 2983 29842010-10-20 Eric Botcazou <ebotcazou@adacore.com> 2985 2986 * stor-layout.c (skip_simple_constant_arithmetic): New function. 2987 (self_referential_size): Use it instead of skip_simple_arithmetic. 2988 29892010-10-18 Jakub Jelinek <jakub@redhat.com> 2990 2991 PR middle-end/46019 2992 * fold-const.c (fold_binary_loc): If integer_pow2p has 2993 TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH. 2994 29952010-10-16 Eric Botcazou <ebotcazou@adacore.com> 2996 2997 * gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be 2998 ignored for debug info purposes, do not clear the DECL_IGNORED_P flag 2999 on the bounds of its domain. 3000 * tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically. 3001 30022010-10-15 Joseph Myers <joseph@codesourcery.com> 3003 3004 * doc/extend.texi (Variable Length): Don't refer to VLAs not 3005 conforming to C99. 3006 30072010-10-14 Joseph Myers <joseph@codesourcery.com> 3008 3009 PR c/45969 3010 * c-typeck.c (build_binary_op): Don't try to compute a semantic 3011 type with excess precision for boolean operations. 3012 30132010-10-13 Richard Guenther <rguenther@suse.de> 3014 Joern Rennecke <joern.rennecke@embecosm.com> 3015 3016 PR debug/44832 3017 * tree-ssa-live.c (mark_all_vars_used_1): Set TREE_USED for 3018 LABEL_DECL. 3019 (remove_unused_scope_block_p): Don't drop TREE_USED LABEL_DECLs 3020 unless they have DECL_IGNORED_P set. 3021 30222010-10-13 Richard Guenther <rguenther@suse.de> 3023 3024 PR tree-optimization/45982 3025 * tree-ssa-structalias.c (make_constraints_to): New function. 3026 (make_constraint_to): Implement in terms of make_constraints_to. 3027 (find_func_aliases): Properly make return values of pure/const 3028 functions escape if they assign to sth that is not a pointer. 3029 30302010-10-11 Alexandre Oliva <aoliva@redhat.com> 3031 3032 PR debug/45656 3033 * cse.c (cse_extended_basic_block): Preserve cc0 info across 3034 debug isnsn. Skip them when searching for cc0 setter. 3035 (set_live_p): Skip debug insns when searching for cc0 user. 3036 30372010-10-09 Ralf Corsépius <ralf.corsepius@rtems.org> 3038 3039 * config.gcc (bfin*-rtems*): Add newlib-stdint.h. 3040 * config.gcc (lm32*-rtems*): Add newlib-stdint.h. 3041 30422010-10-07 Richard Guenther <rguenther@suse.de> 3043 3044 PR middle-end/45869 3045 * tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts 3046 of pointers. 3047 30482010-10-07 Richard Guenther <rguenther@suse.de> 3049 3050 Backport from mainline 3051 2010-09-07 Richard Guenther <rguenther@suse.de> 3052 3053 PR middle-end/45569 3054 * tree-eh.c (operation_could_trap_helper_p): Neither COMPLEX_EXPR 3055 nor CONSTRUCTOR can trap. 3056 * tree-complex.c (update_complex_assignment): Update EH info. 3057 30582010-10-06 Jack Howarth <howarth@bromo.med.uc.edu> 3059 3060 Backport from mainline 3061 2010-04-26 Jack Howarth <howarth@bromo.med.uc.edu> 3062 3063 PR 43715 3064 * configure.ac: Pass -g for export_sym_check on darwin. 3065 Use "-undefined dynamic_lookup" on darwin. 3066 * configure: Regenerate. 3067 30682010-10-05 Ira Rosen <irar@il.ibm.com> 3069 3070 PR tree-optimization/45752 3071 * tree-vect-slp.c (vect_get_mask_element): Remove static 3072 variables, make them function arguments. 3073 (vect_transform_slp_perm_load): Pass new arguments to 3074 vect_get_mask_element. 3075 30762010-10-04 Matthias Klose <doko@ubuntu.com> 3077 3078 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the 3079 multilib osdirname if it exists. 3080 * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise. 3081 30822010-10-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3083 3084 PR target/45820 3085 * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands 3086 earlier. 3087 30882010-10-01 Richard Guenther <rguenther@suse.de> 3089 3090 PR tree-optimization/45854 3091 * tree-eh.c (cleanup_empty_eh): Avoid degenerate case. 3092 30932010-09-30 Jakub Jelinek <jakub@redhat.com> 3094 3095 PR target/45843 3096 * config/i386/i386.c (ix86_gimplify_va_arg): Use 3097 INTVAL (XEXP (slot, 1)) as prev_size. 3098 30992010-09-29 Kai Tietz <kai.tietz@onevision.com> 3100 3101 * config/i386/mingw32.h (TARGET_64BIT): replaced by 3102 TARGET_64BIT_DEFAULT in #if check. 3103 31042010-09-28 Richard Henderson <rth@redhat.com> 3105 3106 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes 3107 when 8 bytes are requested. 3108 31092010-09-27 Richard Sandiford <rdsandiford@googlemail.com> 3110 3111 Backport from mainline: 3112 3113 2010-05-19 James E. Wilson <wilson@codesourcery.com> 3114 3115 PR target/43764 3116 * config/mips/mips.c (mips_call_expr_from_insn): New arg second_call. 3117 Set it. 3118 (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn. 3119 Use it. 3120 31212010-09-27 Richard Sandiford <rdsandiford@googlemail.com> 3122 3123 PR rtl-optimization/43358 3124 * ira-lives.c (process_single_reg_class_operands): Adjust the costs 3125 of a single hard register, using simplify_subreg_regno to decide 3126 what that register should be. 3127 31282010-09-25 Eric Botcazou <ebotcazou@adacore.com> 3129 3130 * tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new 3131 statements because of the return slot optimization. 3132 31332010-09-24 Jakub Jelinek <jakub@redhat.com> 3134 3135 Revert: 3136 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> 3137 3138 PR middle-end/45234 3139 * calls.c (expand_call): Make sure that all variable sized 3140 adjustments are multiple of preferred stack boundary after 3141 stack alignment. 3142 31432010-09-23 Eric Botcazou <ebotcazou@adacore.com> 3144 3145 Backport from mainline 3146 2010-09-02 Olivier Hainque <hainque@adacore.com> 3147 3148 PR middle-end/44763 3149 * ira-color.c (SORTGT): New macro, helper for qsort callbacks. 3150 (allocno_priority_compare_func): Use it instead of a straight 3151 difference computation over priorities. 3152 31532010-09-22 Eric Botcazou <ebotcazou@adacore.com> 3154 3155 PR java/44095 3156 * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch 3157 is specified and the suffix of the file isn't ".c". 3158 * config/sparc/linux64.h (ASM_SPEC): Likewise. 3159 31602010-09-22 Eric Botcazou <ebotcazou@adacore.com> 3161 3162 PR target/35664 3163 * config/sparc/constraints.md ('e'): Return NO_REGS if !TARGET_FPU. 3164 ('f'): Likewise. 3165 31662010-09-21 Hans-Peter Nilsson <hp@axis.com> 3167 3168 PR rtl-optimization/41085 3169 Backport from mainline 3170 2010-07-27 Bernd Schmidt <bernds@codesourcery.com> 3171 3172 PR rtl-optimization/45051 3173 * reload1.c (delete_output_reload): Use refers_to_regno_p rather 3174 than reg_mentioned_p. 3175 31762010-09-21 Kai Tietz <kai.tietz@onevision.com> 3177 3178 PR target/45694 3179 * config/i386/i386.c (ix86_expand_prologue): Save r10 in case that 3180 static chain-register is used for 64-bit. 3181 31822010-09-21 Jakub Jelinek <jakub@redhat.com> 3183 3184 PR middle-end/45678 3185 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If 3186 op0 isn't sufficiently aligned and there is movmisalignM 3187 insn for mode, use it to load op0 into a temporary register. 3188 3189 Backport from mainline 3190 2010-09-20 Jakub Jelinek <jakub@redhat.com> 3191 3192 PR middle-end/45678 3193 * cfgexpand.c (expand_one_stack_var_at): Limit alignment to 3194 crtl->max_used_stack_slot_alignment. 3195 31962010-09-21 Richard Guenther <rguenther@suse.de> 3197 3198 PR middle-end/45704 3199 * gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness. 3200 32012010-09-20 Jakub Jelinek <jakub@redhat.com> 3202 3203 PR rtl-optimization/45728 3204 * expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try 3205 gen_lowpart_common first and if that fails, force_reg first 3206 before calling gen_lowpart. 3207 3208 PR rtl-optimization/45695 3209 * combine.c (try_combine): Don't try to swap the two patterns, if the 3210 chosen order is not possible, just give up. For HAVE_cc0 targets, 3211 check if XVECEXP (newpat, 0, 0) doesn't use REGs or MEMs set by insns 3212 in between i2 and i3. 3213 32142010-09-20 Eric Botcazou <ebotcazou@adacore.com> 3215 3216 PR rtl-optimization/42775 3217 * cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot 3218 scheduling is enabled. 3219 32202010-09-20 H.J. Lu <hongjiu.lu@intel.com> 3221 3222 Backport from mainline 3223 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> 3224 3225 PR middle-end/45234 3226 * calls.c (expand_call): Make sure that all variable sized 3227 adjustments are multiple of preferred stack boundary after 3228 stack alignment. 3229 32302010-09-20 Rafael Carre <rafael.carre@gmail.com> 3231 3232 PR target/45726 3233 * arm.md (arm_movtas_ze): Only enable on machine with MOVT. 3234 32352010-09-20 Richard Guenther <rguenther@suse.de> 3236 3237 PR tree-optimization/45623 3238 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust. 3239 (get_constraint_for_component_ref): If computing a constraint 3240 for the rhs handle type punning through unions. 3241 (get_constraint_for_address_of): Adjust. 3242 (get_constraint_for_1): Likewise. 3243 (get_constraint_for): Likewise. 3244 (get_constraint_for_rhs): New function. 3245 (do_structure_copy): Adjust. 3246 (make_constraint_to): Likewise. 3247 (handle_const_call): Likewise. 3248 (find_func_aliases): Likewise. 3249 32502010-09-18 Richard Guenther <rguenther@suse.de> 3251 3252 PR tree-optimization/45709 3253 * tree-inline.c (copy_phis_for_bb): Delay commit of edge 3254 insertions until after all PHI nodes of the block are processed. 3255 32562010-09-18 H.J. Lu <hongjiu.lu@intel.com> 3257 3258 Backport from mainline 3259 2010-04-07 Dodji Seketeli <dodji@redhat.com> 3260 3261 PR debug/43628 3262 * dwarf2out.c (modified_type_die): Ignore artificial typedefs. 3263 32642010-09-18 Richard Guenther <rguenther@suse.de> 3265 3266 PR tree-optimization/45709 3267 * tree-inline.c (copy_phis_for_bb): Fixup new_edge when 3268 we splitted it. 3269 32702010-09-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3271 3272 Backport from mainline: 3273 2010-09-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3274 3275 * doc/sourcebuild.texi (Effective-Target Keywords): Document 3276 run_expensive_tests. 3277 32782010-09-15 Eric Botcazou <ebotcazou@adacore.com> 3279 3280 PR rtl-optimization/45593 3281 * reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit 3282 insns that were in delay slots as stand-alone insns. 3283 32842010-09-14 Tristan Gingold <gingold@adacore.com> 3285 3286 * configure.ac (plugins): Fix typos. 3287 * configure: Regenerate. 3288 32892010-09-14 Jakub Jelinek <jakub@redhat.com> 3290 3291 PR middle-end/45567 3292 * builtins.c (expand_builtin_interclass_mathfn, expand_builtin_cexpi, 3293 expand_builtin_powi): Remove subtarget argument, pass NULL_RTX instead. 3294 (expand_builtin): Adjust caller. 3295 (expand_builtin_unop): Only use subtarget if it has the right mode. 3296 3297 PR debug/45660 3298 * dwarf2out.c (gen_decl_die): Call gen_type_die for origin before 3299 gen_type_die for function/method return type. 3300 33012010-09-13 Hans-Peter Nilsson <hp@axis.com> 3302 3303 PR rtl-optimization/41087 3304 * ifcvt.c (noce_get_condition): Don't allow conditions with 3305 side-effects. 3306 33072010-09-12 Alexander Monakov <amonakov@ispras.ru> 3308 3309 Backport from mainline 3310 2010-09-06 Andrey Belevantsev <abel@ispras.ru> 3311 3312 PR rtl-optimization/44919 3313 * sel-sched.c (move_cond_jump): Remove assert, check that 3314 the several blocks case can only happen with mutually exclusive 3315 insns instead. Rewrite the movement code to support moving through 3316 several basic blocks. 3317 33182010-09-10 Jack Howarth <howarth@bromo.med.uc.edu> 3319 3320 Backport from mainline 3321 2010-09-07 H.J. Lu <hjl.tools@gmail.com> 3322 Jack Howarth <howarth@bromo.med.uc.edu> 3323 3324 PR target/36502 3325 PR target/42313 3326 PR target/44651 3327 * config/i386/darwin.h (STACK_BOUNDARY): Redefine as 128 for 3328 profiling or 64-bit MS_ABI and as BITS_PER_WORD otherwise. 3329 (PREFERRED_STACK_BOUNDARY): Replace STACK_BOUNDARY with 128 in 3330 MAX macro. 3331 33322010-09-09 Vladimir Makarov <vmakarov@redhat.com> 3333 3334 PR middle-end/45312 3335 * reload1.c (merge_assigned_reloads): Remove. 3336 (reload_as_needed): Don't call it. 3337 33382010-09-09 Matthias Klose <doko@ubuntu.com> 3339 3340 PR bootstrap/43847 3341 * configure.ac (--enable-plugin): Enhance for cross builds. 3342 * configure: Regenerate. 3343 33442010-09-09 Vladimir Makarov <vmakarov@redhat.com> 3345 3346 PR middle-end/44554 3347 * ira.c (ira): Switch off sharing spill slots if setjmp is called. 3348 33492010-09-08 Vladimir Makarov <vmakarov@redhat.com> 3350 3351 PR middle-end/40386 3352 * ira.c (pseudo_for_reload_consideration_p): Don't use 3353 flag_ira_share_spill_slots. 3354 33552010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 3356 3357 * config/s390/s390.c (legitimate_reload_constant_p): Accept floating- 3358 point zero operands that fit into a single GPR. 3359 (s390_preferred_reload_class): Ensure we only return general-purpose 3360 register classes. 3361 * config/s390/s390.md ("*mov<mode>_64dfp"): Use lghi to load 3362 floating-point zero operands into GPRs. 3363 ("*mov<mode>_64"): Likewise. 3364 ("mov<mode>"): Likewise using lhi. 3365 33662010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 3367 3368 * config/s390/s390.c (s390_symref_operand_p): Return false for 3369 literal pool references. 3370 (s390_check_qrst_address): Update caller. 3371 33722010-09-08 Martin Jambor <mjambor@suse.cz> 3373 3374 PR other/45443 3375 * doc/invoke.texi: Add -fipa-cp-clone to list of switches turned on 3376 at -O3. 3377 33782010-09-03 Jakub Jelinek <jakub@redhat.com> 3379 3380 PR middle-end/45484 3381 * dwarf2out.c (flush_queued_reg_saves): Rename to... 3382 (dwarf2out_flush_queued_reg_saves): ... this. No longer static. 3383 (dwarf2out_frame_debug): Adjust callers. 3384 * dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype. 3385 * config/i386/i386.c (output_set_got): Call it. 3386 3387 PR debug/45500 3388 * dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors, 3389 not just generic vectors with BLKmode. 3390 33912010-09-02 Ian Bolton <ian.bolton@arm.com> 3392 3393 Backport from mainline 3394 2010-09-01 Ian Bolton <ian.bolton@arm.com> 3395 3396 * Makefile.in (tree-switch-conversion.o): Update dependencies. 3397 3398 2010-08-19 Ian Bolton <ian.bolton@arm.com> 3399 3400 PR target/45070 3401 * config/arm/arm.c (arm_output_epilogue): Ensure that return 3402 value of size 1-3 is handled correctly. 3403 3404 2010-08-19 Ian Bolton <ian.bolton@arm.com> 3405 3406 * tree-switch-conversion.c (gen_inbound_check): Ensure that the 3407 type for the conditional has wide enough range. 3408 3409 2010-08-07 Marcus Shawcroft <marcus.shawcroft@arm.com> 3410 3411 * config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with 3412 'unsigned short' and 'unsigned char' instead of 'short' and 'char'. 3413 (SUBWORD_BOOL_CAS): Likewise. 3414 (SUBWORD_SYNC_OP): Likewise. 3415 (SUBWORD_TEST_AND_SET): Likewise. 3416 (FETCH_AND_OP_WORD): Parenthesise INF_OP 3417 (SUBWORD_SYNC_OP): Likewise. 3418 (OP_AND_FETCH_WORD): Likewise. 3419 34202010-09-01 Jakub Jelinek <jakub@redhat.com> 3421 3422 PR middle-end/45458 3423 * bb-reorder.c (add_labels_and_missing_jumps): Treat 3424 bbs ending with throwing insns like blocks ending with a call. 3425 (fix_up_fall_thru_edges): Likewise. 3426 34272010-09-01 Eric Botcazou <ebotcazou@adacore.com> 3428 3429 * gimplify.c (gimplify_init_constructor): Do not create a temporary for 3430 a volatile LHS if the constructor has only one element. 3431 34322010-08-31 Eric Botcazou <ebotcazou@adacore.com> 3433 3434 * tree-nested.c (convert_all_function_calls): Iterate until after the 3435 sum of static chains in the nest doesn't change. 3436 34372010-08-31 Eric Botcazou <ebotcazou@adacore.com> 3438 3439 Backport from mainline 3440 2010-08-20 Jakub Jelinek <jakub@redhat.com> 3441 3442 PR rtl-optimization/45353 3443 * sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn 3444 after bb_note is a BARRIER. 3445 34462010-08-30 Jakub Jelinek <jakub@redhat.com> 3447 3448 PR middle-end/45423 3449 * gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR 3450 and TRUTH_{AND,OR,XOR}_EXPR. 3451 * c-parser.c (c_parser_omp_atomic): Handle boolean 3452 {PRE,POST}_{INC,DEC}REMENT. 3453 34542010-08-30 Jakub Jelinek <jakub@redhat.com> 3455 3456 Backport from mainline 3457 2010-07-27 Jakub Jelinek <jakub@redhat.com> 3458 3459 PR c/45079 3460 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR. 3461 34622010-08-30 H.J. Lu <hongjiu.lu@intel.com> 3463 3464 Backport from mainline 3465 2010-08-25 Richard Guenther <rguenther@suse.de> 3466 3467 PR tree-optimization/45393 3468 * tree-ssa-math-opts.c (execute_cse_sincos_1): Properly transfer 3469 and clean EH info. Avoid SSA update. 3470 (execute_cse_sincos): Cleanup the CFG if it has changed. 3471 34722010-08-28 Eric Botcazou <ebotcazou@adacore.com> 3473 3474 * config/ia64/ia64.md (cstorebi4): Fix thinko. 3475 34762010-08-28 Uros Bizjak <ubizjak@gmail.com> 3477 3478 PR target/41484 3479 * config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory 3480 operands for operand 1. 3481 (sse4_1_extendv4qiv4si2): Ditto. 3482 (sse4_1_extendv2qiv2di2): Ditto. 3483 (sse4_1_extendv4hiv4si2): Ditto. 3484 (sse4_1_extendv2hiv2di2): Ditto. 3485 (sse4_1_extendv2siv2di2): Ditto. 3486 (sse4_1_zero_extendv8qiv8hi2): Ditto. 3487 (sse4_1_zero_extendv4qiv4si2): Ditto. 3488 (sse4_1_zero_extendv2qiv2di2): Ditto. 3489 (sse4_1_zero_extendv4hiv4si2): Ditto. 3490 (sse4_1_zero_extendv2hiv2di2): Ditto. 3491 (sse4_1_zero_extendv2siv2di2): Ditto. 3492 (*sse4_1_extendv8qiv8hi2): Remove insn pattern. 3493 (*sse4_1_extendv4qiv4si2): Ditto. 3494 (*sse4_1_extendv2qiv2di2): Ditto. 3495 (*sse4_1_extendv4hiv4si2): Ditto. 3496 (*sse4_1_extendv2hiv2di2): Ditto. 3497 (*sse4_1_extendv2siv2di2): Ditto. 3498 (*sse4_1_zero_extendv8qiv8hi2): Ditto. 3499 (*sse4_1_zero_extendv4qiv4si2): Ditto. 3500 (*sse4_1_zero_extendv2qiv2di2): Ditto. 3501 (*sse4_1_zero_extendv4hiv4si2): Ditto. 3502 (*sse4_1_zero_extendv2hiv2di2): Ditto. 3503 (*sse4_1_zero_extendv2siv2di2): Ditto. 3504 35052010-08-25 Jakub Jelinek <jakub@redhat.com> 3506 3507 PR rtl-optimization/44858 3508 * combine.c (try_combine): If recog_for_combine added CLOBBERs to 3509 newi2pat, make sure they don't affect newpat. 3510 3511 PR rtl-optimization/45400 3512 * combine.c (simplify_shift_const_1) <case SUBREG>: Only use 3513 SUBREG_REG if both modes are of MODE_INT class. 3514 35152010-08-20 Changpeng Fang <changpeng.fang@amd.com> 3516 3517 PR tree-optimization/45260 3518 * tree-flow.h (may_be_nonaddressable_p): New definition. Make the 3519 existing static function global. 3520 3521 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function 3522 is changed to global. 3523 3524 * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call 3525 may_be_nonaddressable_p on base, and don't collect this reference 3526 if the address of the base could not be taken. 3527 35282010-08-20 David Edelsohn <edelsohn@gnu.org> 3529 3530 Backport from mainline 3531 2010-04-22 David Edelsohn <edelsohn@gnu.org> 3532 3533 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS. 3534 35352010-08-19 Uros Bizjak <ubizjak@gmail.com> 3536 3537 * config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use 3538 ix86_binary_operator_ok. 3539 35402010-08-18 Uros Bizjak <ubizjak@gmail.com> 3541 3542 PR target/45327 3543 * config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use 3544 ix86_binary_operator_ok. 3545 35462010-08-18 H.J. Lu <hongjiu.lu@intel.com> 3547 3548 Backport from mainline 3549 2010-08-18 Paolo Bonzini <bonzini@gnu.org> 3550 3551 PR middle-end/45292 3552 * optabs.c (expand_bool_compare_and_swap): Expand pending 3553 pops before trying the optab. 3554 35552010-08-17 Uros Bizjak <ubizjak@gmail.com> 3556 3557 PR target/45296 3558 * reginfo.c (globalize_reg): Reject stack registers. 3559 35602010-08-16 Changpeng Fang <changpeng.fang@amd.com> 3561 3562 Backport from mainline: 3563 2010-08-12 Changpeng Fang <changpeng.fang@amd.com> 3564 3565 PR tree-optimization/45241 3566 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give 3567 up dot_prod pattern searching if a stmt is outside the loop. 3568 35692010-08-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3570 3571 Backport from mainline: 3572 2010-08-09 Richard Guenther <rguenther@suse.de> 3573 3574 PR middle-end/44632 3575 * function.c (gimplify_parameters): Do not clear addressable 3576 bit of the original parameter. 3577 35782010-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3579 3580 Revert: 3581 2010-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3582 3583 PR boehm-gc/34544 3584 * gthr-posix.h (__gthread_start): Delete. 3585 (__gthread_active_init): Use pthread_default_stacksize_np instead of 3586 pthread_create to determine if hpux pthreads are active. 3587 * gthr-posix95.h (__gthread_start): Delete. 3588 (__gthread_active_init): Likewise use pthread_default_stacksize_np. 3589 35902010-08-12 Jakub Jelinek <jakub@redhat.com> 3591 3592 PR middle-end/45262 3593 * fold-const.c (make_range) <case NEGATE_EXPR>: Punt if 3594 -a overflows. Normalize the range. 3595 3596 PR debug/45259 3597 * caller-save.c (save_call_clobbered_regs): Only swap notes with 3598 DEBUG_INSNs if n_regs_saved. 3599 3600 Backport from mainline 3601 2010-07-30 Jakub Jelinek <jakub@redhat.com> 3602 3603 PR debug/45055 3604 PR rtl-optimization/45137 3605 * rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New 3606 prototypes. 3607 * emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): 3608 New functions. 3609 * combine.c (next_nonnote_nondebug_insn): Removed. 3610 * ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn. 3611 * haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn. 3612 * sched-deps.c (sched_analyze_insn): Likewise. 3613 (fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn. 3614 * rtlanal.c (canonicalize_condition): Likewise. 3615 * postreload.c (reload_combine): Likewise. 3616 (reload_cse_move2add): Use next_nonnote_nondebug_insn. 3617 36182010-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3619 3620 Backport from mainline. 3621 2010-07-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3622 3623 PR target/44805 3624 * config/pa/pa.h (CONSTANT_ALIGNMENT): Align strings to BITS_PER_WORD 3625 on all targets. 3626 36272010-08-08 Richard Guenther <rguenther@suse.de> 3628 3629 PR middle-end/45034 3630 * convert.c (convert_to_integer): Always use an unsigned 3631 type for narrowed negate and bitwise not. 3632 36332010-08-08 Richard Guenther <rguenther@suse.de> 3634 3635 PR tree-optimization/45109 3636 * tree-ssa-structalias.c (get_constraint_for_component_ref): 3637 Explicitly strip handled components and indirect references. 3638 36392010-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3640 3641 PR boehm-gc/34544 3642 * gthr-posix.h (__gthread_start): Delete. 3643 (__gthread_active_init): Use pthread_default_stacksize_np instead of 3644 pthread_create to determine if hpux pthreads are active. 3645 * gthr-posix95.h (__gthread_start): Delete. 3646 (__gthread_active_init): Likewise use pthread_default_stacksize_np. 3647 36482010-08-06 Eric Botcazou <ebotcazou@adacore.com> 3649 3650 PR target/44942 3651 * config/sparc/sparc.c (function_arg_advance): Always take into account 3652 the padding, if any. 3653 36542010-08-06 Uros Bizjak <ubizjak@gmail.com> 3655 3656 * expmed.c (expand_mult_const) <case alg_shift>: Expand shift into 3657 temporary. Emit move from temporary to accum, so REG_EQUAL note will 3658 be attached to this insn in correct mode. 3659 36602010-08-06 Uros Bizjak <ubizjak@gmail.com> 3661 3662 * config/i386/i386.c (ix86_decompose_address): Check for SI_REG 3663 using REGNO of base_reg directly. 3664 36652010-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 3666 3667 * config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of 3668 non-NOTE insns. 3669 36702010-08-03 Uros Bizjak <ubizjak@gmail.com> 3671 3672 PR target/41089 3673 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset 3674 as volatile. 3675 36762010-08-03 Martin Jambor <mjambor@suse.cz> 3677 3678 PR tree-optimization/44914 3679 * tree-sra.c (cfg_changed): New variable. 3680 (sra_initialize): Initialize cgf_changed to false. 3681 (scan_function): Set cfg_changed if cfg was changed. 3682 (perform_intra_sra): Return also TODO_cleanup_cfg if cfg was changed. 3683 (ipa_early_sra): Likewise. 3684 36852010-08-02 DJ Delorie <dj@redhat.com> 3686 3687 * config/rx/predicates.md (rx_constshift_operand): New. 3688 * config/rx/rx.md (zs_cond): New. 3689 (cbranchsi4): Remove mode. 3690 (*cbranchsi4_<code>): Likewise. 3691 (*tstbranchsi4_<code>): New. 3692 (*tstbranchsi4r_<code>): New. 3693 (*tstbranchsi4m_eq): New. 3694 (*tstbranchsi4m_ne): New. 3695 (cbranchsf4): Remove mode. 3696 (*cbranchsf4_<code>): Likewise. 3697 36982010-07-31 Richard Guenther <rguenther@suse.de> 3699 3700 PR tree-optimization/45052 3701 * ipa-pure-const.c (check_stmt): Check volatileness. 3702 37032010-07-31 Richard Guenther <rguenther@suse.de> 3704 3705 * ipa-prop.c (ipa_modify_formal_parameters): Use 3706 build_distinct_type_copy. 3707 37082010-07-31 Richard Guenther <rguenther@suse.de> 3709 3710 * DEV-PHASE: Set back to prerelease. 3711 * BASE-VER: Bump to 4.5.2. 3712 37132010-07-31 Release Manager 3714 3715 * GCC 4.5.1 released. 3716 37172010-07-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 3718 3719 Backport from mainline. 3720 2010-07-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 3721 3722 PR target/43698 3723 * config/arm/arm.md: Split arm_rev into *arm_rev and *thumb1_rev. 3724 Set *arm_rev to be predicable. 3725 37262010-07-27 Nick Clifton <nickc@redhat.com> 3727 3728 * Import this patch from the mainline: 3729 3730 2010-06-30 Nick Clifton <nickc@redhat.com> 3731 3732 * config/rx/rx-modes.def: New file. 3733 * config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17. 3734 (CC_REGNUM): Define. 3735 (FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc 3736 register. 3737 (CC_NO_CARRY, NOTICE_UPDATE_CC): Delete. 3738 (SELECT_CC_MODE): Define. 3739 * config/rx/rx.md (CC_REG): Define. Update all patterns to use 3740 (reg:CC CC_REG) instead of (cc0). 3741 (attr "cc"): Delete. 3742 (cbranchsi4): Do not split compare and branch here. Instead move 3743 it to... 3744 (cbranchsi4_<code>): ... here. New patterns. 3745 (cmpsi): Call rx-compare_redundant to find out if it is necessary 3746 to emit the compare instruction. 3747 * config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of 3748 cc_status flags. 3749 (rx_get_stack_layout): Iterate up to before CC_REGNUM not 3750 FIRST_PSEUDO_REGNUM. 3751 (rx_expand_prologue, rx_expand_epilogue): Likewise. 3752 (rx_notice_update_cc): Delete. 3753 (rx_cc_modes_compatible): New function. 3754 (flags_needed_for_conditional): New function. 3755 (flags_from_mode): New function. 3756 (rx_compare_redundant): New function - scans backwards through 3757 insn list to find out if condition flags are already set correctly. 3758 (TARGET_CC_MODES_COMPATIBLE): Define. 3759 * config/rx/rx-protos.h (rx_compare_redundant): Prototype. 3760 3761 * config/rx/rx.h (BRANCH_COST): Define. 3762 (REGISTER_MOVE_COST): Define. 3763 * config/rx/predicates (rx_source_operand): Allow all constant types. 3764 * config/rx/rx.md (addsi3): Add alternative for swapped operands. 3765 (tstsi4): New pattern. 3766 * config/rx/rx.c (rx_memory_move_cost): Define. 3767 (TARGET_MEMORY_MOVE_COST): Define. 3768 37692010-07-23 Jakub Jelinek <jakub@redhat.com> 3770 Richard Guenther <rguenther@suse.de> 3771 3772 PR tree-optimization/45047 3773 * tree-vect-stmts.c (vectorizable_assignment): Return false 3774 if vectype_out is NULL for conversion statement. 3775 37762010-07-22 Jakub Jelinek <jakub@redhat.com> 3777 3778 PR debug/45015 3779 * var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero 3780 ASM_OPERANDS_OUTPUT_IDX. 3781 (adjust_insn): For inline asm with multiple sets ensure first 3782 ASM_OPERANDS vectors are used by all following ASM_OPERANDS in 3783 the insn. 3784 3785 Backport from mainline 3786 2010-07-16 Jakub Jelinek <jakub@redhat.com> 3787 3788 PR target/44942 3789 * config/i386/i386-protos.h (ix86_function_arg_boundary): Change second 3790 argument to const_tree. 3791 * config/i386/i386.c (function_arg_advance): If padding needs to be 3792 inserted before argument, increment cum->words by number of padding 3793 words as well. 3794 (contains_aligned_value_p): Change argument to const_tree. 3795 (ix86_function_arg_boundary): Change second argument to const_tree. 3796 37972010-07-21 Martin Jambor <mjambor@suse.cz> 3798 3799 PR tree-optimization/44900 3800 * tree-sra.c (load_assign_lhs_subreplacements): Updated comments. 3801 (sra_modify_assign): Move gsi to the next statmenent unconditionally. 3802 38032010-07-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3804 3805 Backport from mainline: 3806 2010-07-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3807 3808 * doc/sourcebuild.texi (Effective-Target Keywords): Document 3809 sse_runtime, sse2_runtime. 3810 38112010-07-20 Richard Guenther <rguenther@suse.de> 3812 3813 PR tree-optimization/44977 3814 * tree-ssa-dom.c (propagate_rhs_into_lhs): Do not create invalid 3815 SSA form. 3816 38172010-07-19 Bingfeng Mei <bmei@broadcom.com> 3818 3819 * ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes 3820 of a loop. 3821 * loop-doloop.c (doloop_condition_get): Skip possible debug_insn. 3822 38232010-07-15 Jie Zhang <jie@codesourcery.com> 3824 3825 * config/arm/cortex-a8.md (cortex_a8_load_store_2): Reserve 3826 cortex_a8_issue_ls. 3827 38282010-07-14 Jie Zhang <jie@codesourcery.com> 3829 3830 * config/arm/cortex-a8.md (cortex_a8_alu): Don't use 3831 cortex_a8_default when neon_type is not none. 3832 38332010-07-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3834 3835 Backport from mainline: 3836 2010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3837 3838 * config/i386/i386.c (ix86_sol10_return_in_memory): Rename to 3839 ix86_solaris_return_in_memory. 3840 * config/i386-protos.h: Reflect this. 3841 * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Likewise. 3842 * config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Likewise. 3843 Move ... 3844 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): ... here. 3845 38462010-07-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3847 3848 Backport from mainline: 3849 2010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3850 3851 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to 3852 pentiumpro on Solaris 8 and 9/x86. 3853 * doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as. 3854 Document SSE/SSE2 support. 3855 * doc/sourcebuild.texi (Effective-Target Keywords): Document sse. 3856 38572010-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3858 3859 * config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct 3860 explanation. 3861 Find ucontext_t * on Solaris 11. 3862 (x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern. 3863 Handle new Solaris 11 __sighndlr patterns. 3864 38652010-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3866 3867 Backport from mainline: 3868 2010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3869 3870 PR pch/14940 3871 * config/host-solaris.c (mmap_fixed): New function. 3872 (sol_gt_pch_get_address): Use it. 3873 (sol_gt_pch_use_address): Likewise. 3874 38752010-07-12 Jie Zhang <jie@codesourcery.com> 3876 3877 * config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to 3878 align the stack when it's going to be saved. 3879 38802010-07-11 Kai Tietz <kai.tietz@onevision.com> 3881 3882 Merged back from trunk 3883 * config/i386/winnt.c (i386_pe_file_end): Quote symbol name 3884 in directive -export. 3885 38862010-07-09 Richard Guenther <rguenther@suse.de> 3887 3888 PR tree-optimization/44886 3889 * tree-vect-stmts.c (vectorizable_assignment): Fixup backport 3890 of the fix for PR44284. 3891 38922010-07-09 Richard Guenther <rguenther@suse.de> 3893 3894 Backport from mainline 3895 2010-05-28 Nathan Froyd <froydnj@codesourcery.com> 3896 3897 * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of 3898 build1_stat. 3899 39002010-07-09 Dave Korn <dave.korn.cygwin@gmail.com> 3901 3902 Backport from mainline 3903 2010-05-06 Dave Korn <dave.korn.cygwin@gmail.com> 3904 3905 PR target/43888 3906 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol 3907 handling to still return true for x64 targets. 3908 39092010-07-08 Richard Guenther <rguenther@suse.de> 3910 3911 Backport from mainline 3912 2010-05-27 Richard Guenther <rguenther@suse.de> 3913 3914 PR tree-optimization/44284 3915 * tree-vect-stmts.c (vectorizable_assignment): Handle 3916 sign-changing conversions as simple copy. 3917 3918 2010-07-06 Richard Guenther <rguenther@suse.de> 3919 3920 PR middle-end/44828 3921 * convert.c (convert_to_integer): Watch out for overflowing 3922 MULT_EXPR as well. 3923 39242010-07-07 Duncan Sands <baldrick@free.fr> 3925 3926 PR middle-end/41355 3927 * tree.c (build_function_type_skip_args): Copy the original type using 3928 build_distinct_type_copy rather than copy_node. 3929 39302010-07-06 Alexandre Oliva <aoliva@redhat.com> 3931 3932 * doc/gimple.texi (GIMPLE_DEBUG): Document. 3933 * doc/rtl.texi (Debug Information): New node. 3934 (NOTE_INSN_VAR_LOCATION): Document. 3935 (debug_insn): Likewise. 3936 * doc/generic.texi (DEBUG_EXPR_DECL): Document. 3937 39382010-07-05 Kaz Kojima <kkojima@gcc.gnu.org> 3939 3940 Backport from mainline: 3941 PR target/44531 3942 * config.gcc (sh*-*-*): Use regular expressions instead of 3943 the 'i' modifier for sed substitutions. 3944 39452010-07-05 Mikael Pettersson <mikpe@it.uu.se> 3946 3947 PR bootstrap/44820 3948 * config/arm/arm.c (arm_attr_length_move_neon): Delete regno. 3949 39502010-07-05 Jie Zhang <jie@codesourcery.com> 3951 3952 * config/arm/arm.c (arm_attr_length_move_neon): New. 3953 * config/arm/arm-protos.h (arm_attr_length_move_neon): Declare. 3954 * config/arm/neon.md (define_mode_attr V_slen): Remove. 3955 (neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon 3956 to compute length attribute. 3957 39582010-07-05 Jie Zhang <jie@codesourcery.com> 3959 3960 * config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand 3961 as predicate for operand 1 and remove its constraint. 3962 * config/arm/predicates.md (vfp_register_operand): New. 3963 * config/arm/arm.md (*push_multi): Remove the constraint of 3964 operand 1. 3965 (*push_fp_multi): Likewise. 3966 39672010-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3968 3969 PR target/44597 3970 * config/pa/predicates.md (prefetch_cc_operand): Remove. 3971 (prefetch_nocc_operand): Likewise. 3972 * config/pa/pa.md (prefetch): Revise expander to use prefetch_20. 3973 (prefetch_20): New insn. 3974 (prefetch_cc): Remove. 3975 (prefetch_nocc): Likewise. 3976 3977 PR target/44705 3978 * config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF. 3979 39802010-07-02 Richard Guenther <rguenther@suse.de> 3981 3982 PR middle-end/44777 3983 * tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs. 3984 39852010-07-01 Jakub Jelinek <jakub@redhat.com> 3986 3987 PR debug/44694 3988 * dwarf2out.c (reg_loc_descriptor): For eliminated arg_pointer_rtx 3989 or frame_pointer_rtx use DW_OP_fbreg offset DW_OP_stack_value. 3990 39912010-07-01 Jakub Jelinek <jakub@redhat.com> 3992 3993 Backport from mainline 3994 2010-06-29 Jakub Jelinek <jakub@redhat.com> 3995 3996 PR tree-optimization/43801 3997 * cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME 3998 if old_decl was DECL_ONE_ONLY. 3999 4000 2010-06-21 Jakub Jelinek <jakub@redhat.com> 4001 4002 PR target/44575 4003 * config/i386/i386.c (ix86_gimplify_va_arg): When copying 4004 va_arg from a set of register save slots into a temporary, 4005 if the container is bigger than type size, do the copying 4006 using smaller mode or using memcpy. 4007 4008 2010-05-13 Jakub Jelinek <jakub@redhat.com> 4009 4010 PR debug/44104 4011 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die 4012 if it is NULL. 4013 40142010-06-30 Jan Hubicka <jh@suse.cz> 4015 4016 Backport from mainline 4017 2010-06-27 Jan Hubicka <jh@suse.cz> 4018 4019 PR middle-end/44671 4020 PR middle-end/44686 4021 * tree.c (build_function_decl_skip_args): Clear DECL_BUILT_IN on 4022 signature change. 4023 * ipa-split.c (split_function): Always clear DECL_BUILT_IN. 4024 * ipa-prop.c (ipa_modify_formal_parameters): Likewise. 4025 4026 2010-06-28 Jan Hubicka <jh@suse.cz> 4027 4028 PR tree-optimization/44357 4029 * ipa-inline.c (add_new_edges_to_heap): Do not add edges to uninlinable 4030 functions. 4031 40322010-06-30 Jakub Jelinek <jakub@redhat.com> 4033 4034 Backport from mainline 4035 2010-06-30 Jakub Jelinek <jakub@redhat.com> 4036 4037 PR debug/44694 4038 * cselib.h (cselib_preserve_cfa_base_value): Add regno argument. 4039 * cselib.c (cfa_base_preserved_regno): New static variable. 4040 (cselib_reset_table): Don't reset cfa_base_preserved_regno instead 4041 of REGNO (cfa_base_preserved_val->locs->loc). 4042 (cselib_preserve_cfa_base_value): Add regno argument, set 4043 cfa_base_preserved_regno to it. 4044 (cselib_invalidate_regno): Allow removal of registers other than 4045 cfa_base_preserved_regno from cfa_base_preserved_val. 4046 (cselib_finish): Set cfa_base_preserved_regno to INVALID_REGNUM. 4047 * var-tracking.c (adjust_mems): Replace sp or hfp even outside 4048 of MEM addresses, if not on LHS. 4049 (reverse_op): Don't add reverse ops for cfa_base_rtx. 4050 (vt_init_cfa_base): Adjust cselib_preserve_cfa_base_value caller. 4051 4052 2010-06-25 Jakub Jelinek <jakub@redhat.com> 4053 4054 PR middle-end/43866 4055 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always 4056 true or always false, return NULL_TREE. 4057 (tree_unswitch_single_loop): Optimize conditions even when reaching 4058 max-unswitch-level parameter. If num > 0, optimize first all conditions 4059 using entry checks, then do still reachable block discovery and consider 4060 only conditions in still reachable basic blocks in the loop. 4061 4062 2010-05-12 Jakub Jelinek <jakub@redhat.com> 4063 4064 PR debug/42278 4065 * dwarf2out.c (base_type_die): Don't add name attribute here. 4066 (modified_type_die): Instead of sizetype use 4067 its underlying original type. If a DW_TAG_base_type doesn't 4068 have name added, add __unknown__. 4069 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die, 4070 always call force_type_die instead. 4071 4072 2010-05-11 Jakub Jelinek <jakub@redhat.com> 4073 4074 PR c++/44059 4075 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object 4076 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls. 4077 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise. 4078 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY 4079 on DW.ref.* decls. 4080 40812010-06-30 Martin Jambor <mjambor@suse.cz> 4082 4083 PR tree-optimization/43905 4084 * tree-sra.c (encountered_recursive_call): Removed with all its uses. 4085 (convert_callers): Do not handle recursive calls specially. 4086 (create_abstract_origin): Removed. 4087 (modify_function): Version the call graph node instead of creating 4088 abstract origins and dealing with same_body aliases. 4089 (ipa_sra_preliminary_function_checks): Check whether the function 4090 is versionable. 4091 * Makefile.in (tree-sra.o): Add TREE_INLINE_H to dependencies. 4092 40932010-06-30 Martin Jambor <mjambor@suse.cz> 4094 4095 Backport from mainline 4096 2010-05-29 Jan Hubicka <jh@suse.cz> 4097 4098 * cgraph.c (clone_function_name): Made public. 4099 * cgraph.h (clone_function_name): Declare. 4100 * cgraphunit.c (cgraph_function_versioning): Produce new name. 4101 41022010-06-29 Martin Jambor <mjambor@suse.cz> 4103 4104 Backport from mainline 4105 2010-05-17 Martin Jambor <mjambor@suse.cz> 4106 4107 PR middle-end/44133 4108 * tree-sra.c (create_access_replacement): New parameter rename, mark 4109 the replaement for renaming only when it is true. 4110 (get_access_replacement): Pass true in the rename parameter of 4111 create_access_replacement. 4112 (get_unrenamed_access_replacement): New function. 4113 (replace_uses_with_default_def_ssa_name): New parameter racc, get the 4114 replacement declaration from it. 4115 41162010-06-29 Martin Jambor <mjambor@suse.cz> 4117 4118 Backport from mainline 4119 2010-04-13 Martin Jambor <mjambor@suse.cz> 4120 4121 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function. 4122 (sra_modify_assign): Delete stmts loading dead data even if racc has no 4123 children. Call replace_uses_with_default_def_ssa_name to handle 4124 SSA_NAES on lhs. 4125 41262010-06-27 Jan Hubicka <jh@suse.cz> 4127 4128 Backport inliner heruistic fixes from mainline 4129 2010-05-27 Jan Hubicka <jh@suse.cz> 4130 4131 * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline. 4132 (update_caller_keys): Return early if there are no callers; 4133 only update fibheap when decresing the key. 4134 (update_callee_keys): Avoid recursion. 4135 (decide_inlining_of_small_functions): When badness does not match; 4136 re-insert into fibheap. 4137 4138 2010-05-11 Jan Hubicka <jh@suse.cz> 4139 4140 PR tree-optimize/44063 4141 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of 4142 queue. 4143 4144 2010-04-13 Jan Hubicka <jh@suse.cz> 4145 4146 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting 4147 of optimized out static functions. 4148 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the 4149 cost computation. Also sanity check for overflows. 4150 (update_caller_keys): Update cgraph_edge_badness call; properly 4151 update fibheap and sanity check that it is up to date. 4152 (add_new_edges_to_heap): Update cgraph_edge_badness. 4153 (cgraph_decide_inlining_of_small_function): Likewise; 4154 add sanity checking that badness in heap is up to date; 4155 improve dumping of reason; Update badness of calls to the 4156 offline copy of function currently inlined; dump badness 4157 of functions not inlined because of unit growth limits. 4158 41592010-06-27 Richard Guenther <rguenther@suse.de> 4160 4161 PR tree-optimization/44683 4162 * tree-ssa-dom.c (record_edge_info): Record equivalences for the 4163 false edge from the inverted condition. 4164 41652010-06-27 Eric Botcazou <ebotcazou@adacore.com> 4166 4167 Backport from mainline 4168 2010-05-18 Vladimir Makarov <vmakarov@redhat.com> 4169 4170 PR rtl-optimization/43332 4171 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier. 4172 41732010-06-27 Richard Guenther <rguenther@suse.de> 4174 4175 PR middle-end/44684 4176 * tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs. 4177 (stmt_may_clobber_ref_p_1): Do not bother to call the oracle 4178 for register LHS. Or non-store assignments. 4179 41802010-06-26 Richard Guenther <rguenther@suse.de> 4181 4182 PR tree-optimization/44393 4183 * tree-loop-distribution.c (generate_loops_for_partition): Fix 4184 stmt removal and VOP renaming. 4185 (generate_memset_zero): Remove redundant stmt updating. 4186 * tree-flow.h (mark_virtual_ops_in_bb): Remove. 4187 * tree-cfg.c (mark_virtual_ops_in_bb): Likewise. 4188 41892010-06-26 Richard Guenther <rguenther@suse.de> 4190 4191 PR middle-end/44674 4192 * tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of 4193 decls. Handle LABEL_DECLs like FUNCTION_DECLs. 4194 41952010-06-25 Alexandre Oliva <aoliva@redhat.com> 4196 4197 PR debug/44610 4198 * simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base 4199 address if the offset is unknown. 4200 42012010-06-25 Richard Guenther <rguenther@suse.de> 4202 4203 Backport from mainline 4204 2010-06-16 Richard Guenther <rguenther@suse.de> 4205 4206 PR c/44555 4207 * c-common.c (c_common_truthvalue_conversion): Remove 4208 premature and wrong optimization concering ADDR_EXPRs. 4209 42102010-06-24 Steven Bosscher <steven@gcc.gnu.org> 4211 4212 Backport from mainline: 4213 2010-05-18 Steven Bosscher <steven@gcc.gnu.org> 4214 4215 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add 4216 lto-macho as lto_binary_reader. 4217 * target.h (struct gcc_target): New hooks lto_start and lto_end. 4218 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define. 4219 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation 4220 in lto_start and lto_end calls. 4221 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O 4222 magic numbers. 4223 (scan_prog_file): Update is_elf_or_coff call. 4224 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document. 4225 4226 * collect2.c (main): Fix enum comparison. 4227 4228 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end): 4229 Add prototypes. 4230 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker. 4231 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START 4232 and TARGET_ASM_LTO_END. 4233 * darwin.c: Include obstack.h and lto-streamer.h. 4234 (lto_section_names_offset, lto_section_names_obstack, 4235 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static 4236 global variables. 4237 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines. 4238 (darwin_asm_lto_start): New function. Redirect output to asm_out_file 4239 to a temporary file. 4240 (darwin_asm_lto_end): New function. Restore asm_out_file. 4241 (darwin_asm_named_section): For LTO sections, replace the name with 4242 the offset of the section name in a string table, and build this 4243 table. 4244 (darwin_file_start): Initialize global vars for LTO support. 4245 (darwin_file_end): If output to asm_out_file was redirected, append it 4246 to the proper asm_out_file here. Add the section names section. 4247 4248 Backport from mainline: 4249 2010-05-18 Steven Bosscher <steven@gcc.gnu.org> 4250 4251 * darwin.c (darwin_asm_named_section): Do not add assembler comment 4252 after .section directive; just print it before the directive 4253 instead. 4254 42552010-06-22 Eric Botcazou <ebotcazou@adacore.com> 4256 4257 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the 4258 new statement and adjust VDEF only if necessary. Remove superfluous 4259 call to maybe_clean_or_replace_eh_stmt. 4260 * gimple.c (gimple_call_copy_skip_args): Use gimple_call_copy_flags to 4261 copy the flags. 4262 * gimple-iterator.c (gsi_replace): Clear BB of old statement here... 4263 * tree-inline.c (copy_bb): ...and not there. 4264 42652010-06-22 H.J. Lu <hongjiu.lu@intel.com> 4266 4267 Backport from mainline 4268 2010-06-22 H.J. Lu <hongjiu.lu@intel.com> 4269 4270 * config/i386/i386.md (unit): Also check sseishft1. 4271 42722010-06-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 4273 4274 PR target/39690 4275 * config/pa/pa.c (override_options): Disable 4276 -freorder-blocks-and-partition. 4277 42782010-06-21 H.J. Lu <hongjiu.lu@intel.com> 4279 4280 Backport from mainline 4281 2010-06-21 H.J. Lu <hongjiu.lu@intel.com> 4282 4283 PR target/44615 4284 * config/i386/atom.md (atom_sseishft_2): Also check sseishft1. 4285 4286 * config/i386/i386.md (type): Add sseishft1 4287 4288 * config/i386/ppro_insn (ppro_insn): Also check sseishft1. 4289 (ppro_insn_load): Likewise. 4290 (ppro_insn_store): Likewise. 4291 (ppro_insn_both): Likewise. 4292 4293 * config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit. 4294 (*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1 4295 for type. 4296 (*vec_extractv2di_1_avx): Likewise. 4297 (*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for 4298 type. Remove atom_unit. 4299 (*vec_extractv2di_1_sse2): Likewise. 4300 43012010-06-21 Jakub Jelinek <jakub@redhat.com> 4302 4303 PR bootstrap/44426 4304 * sel-sched-dump.h (sel_prepare_string_for_dot_label): Remove 4305 prototype. 4306 (sel_print_to_dot): Remove macro. 4307 (sel_print): Likewise. New prototype. 4308 * sel-sched-dump.c (sel_prepare_string_for_dot_label): Make static. 4309 (sel_print): New function. 4310 43112010-06-21 Uros Bizjak <ubizjak@gmail.com> 4312 4313 PR target/44546 4314 * config/i386/predicates.md (ix86_swapped_fp_comparsion_operator): 4315 New predicate. 4316 * config/i386/i386.md (*fp_jcc_8<mode>_387 and splitters): Use 4317 ix86_swapped_fp_comparsion_operator instead of 4318 ix86_fp_comparison_operator. 4319 4320 (*fp_jcc_1_387): Rename from *fp_jcc_3_387. 4321 (*fp_jcc_1r_387): Rename from *fp_jcc_4_387. 4322 (*fp_jcc_2_387): Rename from *fp_jcc_5_387. 4323 (*fp_jcc_2r_387): Rename from *fp_jcc_6_387. 4324 (*fp_jcc_3_387): Rename from *fp_jcc_7_387. 4325 (*fp_jcc_4_<mode>_387): Rename from *fp_jcc_8<mode>_387. 4326 43272010-06-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 4328 4329 Backport from mainline 4330 2010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 4331 4332 PR target/44261 4333 * config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns. 4334 (negdf2): Adjust expander pattern and use negdf2_slow. 4335 (negsf2): Likewise. 4336 43372010-06-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 4338 4339 PR target/43740 4340 * config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag 4341 for SET source operand from SET destination operand. 4342 43432010-06-16 Martin Jambor <mjambor@suse.cz> 4344 4345 PR lto/44464 4346 * tree-sra.c (replace_removed_params_ssa_names): Call release_ssa_name 4347 on the newly dead SSA name. 4348 43492010-06-15 Eric Botcazou <ebotcazou@adacore.com> 4350 4351 Backport from mainline 4352 2010-06-09 Eric Botcazou <ebotcazou@adacore.com> 4353 4354 PR rtl-optimization/42461 4355 * dce.c (deletable_insn_p): Return true for const or pure calls again. 4356 * except.c (insn_could_throw_p): Return false if !flag_exceptions. 4357 43582010-06-15 Eric Botcazou <ebotcazou@adacore.com> 4359 4360 Backport from mainline 4361 2010-06-11 Sandra Loosemore <sandra@codesourcery.com> 4362 4363 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the 4364 computed cost. 4365 43662010-06-15 Jakub Jelinek <jakub@redhat.com> 4367 4368 PR fortran/44536 4369 * langhooks.h (struct lang_hooks_for_decls): Add omp_report_decl. 4370 * langhooks-def.h (LANG_HOOKS_OMP_REPORT_DECL): Define. 4371 (LANG_HOOKS_DECLS): Add it. 4372 * gimplify.c (omp_notice_variable): Call 4373 lang_hooks.decls.omp_report_decl. 4374 43752010-06-15 Martin Jambor <mjambor@suse.cz> 4376 4377 PR tree-optimization/44258 4378 * tree-sra.c (build_access_subtree): Return false iff there is a 4379 partial overlap. 4380 (build_access_trees): Likewise. 4381 (analyze_all_variable_accesses): Disqualify candidates if 4382 build_access_trees returns true for them. 4383 43842010-06-15 Martin Jambor <mjambor@suse.cz> 4385 4386 PR tree-optimization/44423 4387 * tree-sra.c (dump_access): Dump also grp_assignment_read. 4388 (analyze_access_subtree): Pass negative allow_replacements to children 4389 if the current type is scalar. 4390 43912010-06-14 Andreas Schwab <schwab@linux-m68k.org> 4392 4393 Backport from mainline 4394 * config/m68k/m68k.c (m68k_delegitimize_address): Don't do 4395 anything if the argument is not a MEM. 4396 43972010-06-14 H.J. Lu <hongjiu.lu@intel.com> 4398 4399 Backport from mainline 4400 2010-06-14 H.J. Lu <hongjiu.lu@intel.com> 4401 4402 PR target/44534 4403 * config/i386/sse.md (vec_extract_lo_<mode>): Replace 0x1 with 0x0. 4404 (vec_extract_lo_v16hi): Likewise. 4405 (vec_extract_lo_v32qi): Likewise. 4406 44072010-06-14 Jakub Jelinek <jakub@redhat.com> 4408 4409 PR bootstrap/44426 4410 * tree.h (build_call_expr): Don't define as vararg macro, instead 4411 add a prototype. 4412 * builtins.c (build_call_nofold): Remove. 4413 (expand_builtin_int_roundingfn, expand_builtin_pow, 4414 expand_builtin_mempcpy_args, expand_builtin_stpcpy, 4415 expand_builtin_memset_args, expand_builtin_strcmp, 4416 expand_builtin_strncmp, expand_builtin_memory_chk): Use 4417 build_call_nofold_loc instead of build_call_nofold. 4418 (build_call_expr): New function. 4419 4420 PR tree-optimization/44508 4421 * tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE argument. 4422 * tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE, 4423 don't eliminate trivially dead stmts. 4424 * tree-vrp.c (vrp_finalize): Pass false as last argument 4425 to substitute_and_fold. 4426 * tree-ssa-copy.c (fini_copy_prop): Pass true as last argument 4427 to substitute_and_fold. 4428 * tree-ssa-ccp.c (ccp_finalize): Likewise. 4429 44302010-06-14 Ira Rosen <irar@il.ibm.com> 4431 4432 PR tree-optimization/44507 4433 * tree-vect-loop.c (get_initial_def_for_reduction): Use -1 4434 to build initial vector for BIT_AND_EXPR. 4435 44362010-06-14 Dave Korn <dave.korn.cygwin@gmail.com> 4437 4438 Backport from mainline: 4439 2010-04-27 Dave Korn <dave.korn.cygwin@gmail.com> 4440 4441 PR lto/42776 4442 * configure.ac (gcc_cv_as_section_has_align): Set if installed 4443 binutils supports extended .section directive needed by LTO, or 4444 warn if older binutils found. 4445 (LTO_BINARY_READER): New AC_SUBST'd variable. 4446 (LTO_USE_LIBELF): Likewise. 4447 * config.gcc (lto_binary_reader): New target-specific configure 4448 variable. 4449 * Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var. 4450 (LTO_USE_LIBELF): Likewise. 4451 * configure: Regenerate. 4452 * collect2.c (is_elf): Rename from this ... 4453 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF 4454 object files in addition to ELF-formatted ones. 4455 (scan_prog_file): Caller updated. Also allow for LTO info marker 4456 symbol to be prefixed or not by an extra underscore. 4457 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H. 4458 * config/i386/winnt.c: Also #include lto-streamer.h 4459 (i386_pe_asm_named_section): Specify 1-byte section alignment for 4460 LTO named sections. 4461 (i386_pe_asm_output_aligned_decl_common): Add comment. 4462 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL. 4463 44642010-06-12 Uros Bizjak <ubizjak@gmail.com> 4465 4466 PR target/44481 4467 * config/i386/i386.md (UNSPEC_PARITY): New unspec. 4468 (paritydi2_cmp): Use UNSPEC_PARITY unspec insted of parity RTX. 4469 (partiysi2_cmp): Ditto. 4470 (*partiyhi2_cmp): Ditto. 4471 (*parityqi2_cmp): Remove. 4472 44732010-06-10 Alexandre Oliva <aoliva@redhat.com> 4474 4475 PR debug/41371 4476 * var-tracking.c (find_loc_in_1pdv): Remove recursion, only 4477 tail-recurse into canonical node. Fast-forward over 4478 non-canonical VALUEs. 4479 44802010-06-10 Jan Beulich <jbeulich@novell.com> 4481 4482 PR bootstrap/37304 4483 * configure.ac: Replace $() with ${} when intending to expand 4484 variables rather than invoking commands. 4485 * configure: Re-generate. 4486 44872010-06-09 Dave Korn <dave.korn.cygwin@gmail.com> 4488 4489 * opts-common.c (prune_options): Ensure replacement argv array 4490 is correctly terminated by a NULL entry. 4491 44922010-06-09 Iain Sandoe <iains@gcc.gnu.org> 4493 4494 Backport from mainline: 4495 2010-04-28 Mike Stump <mikestump@comcast.net> 4496 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for 4497 now. 4498 44992010-06-09 Iain Sandoe <iains@gcc.gnu.org> 4500 4501 Backport from mainline: 4502 2010-05-28 Iain Sandoe <iains@gcc.gnu.org> 4503 * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin. 4504 45052010-06-09 Edmar Wienskoski <edmar@freescale.com> 4506 4507 PR target/44067 4508 * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for 4509 e500v2 target. 4510 45112010-06-08 Uros Bizjak <ubizjak@gmail.com> 4512 4513 * config/i386/i386.md (*movsi_1) <TYPE_LEA>: Use %a modifier 4514 to output operand 1. 4515 (ashift_zext lea splitter): Use DImode for multiplication. 4516 4517 * config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add 4518 to generate addition. 4519 45202010-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4521 4522 * doc/sourcebuild.texi (Effective-Target Keywords, Other 4523 attributes): Document gas. 4524 45252010-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4526 4527 Backport from mainline: 4528 2010-06-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4529 4530 * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2 4531 linker emulations. 4532 * configure: Regenerate. 4533 * config.in: Regenerate. 4534 4535 * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define. 4536 (X86_64_EMULATION): Define. 4537 (TARGET_LD_EMULATION): Use them. 4538 4539 * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define. 4540 (SPARC64_EMULATION): Define. 4541 (LINK_ARCH_SPEC): Use them. 4542 45432010-06-07 Kai Tietz <kai.tietz@onevision.com> 4544 4545 Backport from mainline: 4546 * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX 4547 argument for fprintf. 4548 (ix86_output_addr_diff_elt): Likewise. 4549 (x86_function_profiler): Likewise. 4550 * config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore. 4551 (LPREFIX): Likewise. 4552 (ASM_GENERATE_INTERNAL_LABEL): Likewise. 4553 45542010-06-04 Alexandre Oliva <aoliva@redhat.com> 4555 4556 PR debug/41371 4557 * var-tracking.c (find_loc_in_1pdv): Mark initial value before 4558 recursing. Check that recursion is bounded. Rename inner var 4559 to avoid hiding incoming argument. 4560 45612010-06-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4562 4563 Backport from mainline: 4564 2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4565 4566 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor. 4567 * configure: Regenerate. 4568 * config.in: Regenerate. 4569 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf 4570 works. 4571 4572 2010-04-19 Richard Guenther <rguenther@suse.de> 4573 4574 * configure.ac: Fix quoting around elf_getshstrndx ABI check. 4575 * configure: Re-generated. 4576 45772010-06-04 Uros Bizjak <ubizjak@gmail.com> 4578 4579 * config/i386/i386.md (*addqi_4): Check for incdec_operand in QImode. 4580 45812010-06-04 Richard Guenther <rguenther@suse.de> 4582 4583 Backport from mainline: 4584 2010-05-25 Jakub Jelinek <jakub@redhat.com> 4585 4586 PR debug/41371 4587 * var-tracking.c (find_loc_in_1pdv): Guard asserts with 4588 ENABLE_CHECKING. 4589 (intersect_loc_chains): Walk the s2var's loc_chain together 4590 with s1node chain as long as the locations are equal, don't 4591 call find_loc_in_1pdv in that case. 4592 4593 2010-05-18 Jakub Jelinek <jakub@redhat.com> 4594 4595 PR debug/41371 4596 * var-tracking.c (find_loc_in_1pdv): Add a few checks from 4597 rtx_equal_p inline. 4598 45992010-06-04 Alan Modra <amodra@gmail.com> 4600 4601 PR target/44075 4602 * gcc/config/rs6000/rs6000.c (struct machine_function): Reorder 4603 fields for better packing. Add lr_save_state. 4604 (rs6000_ra_ever_killed): Return lr_save_state if set. 4605 (rs6000_emit_eh_reg_restore): Set lr_save_state. 4606 46072010-06-03 Richard Guenther <rguenther@suse.de> 4608 4609 Backport from mainline: 4610 2010-05-10 Richard Guenther <rguenther@suse.de> 4611 4612 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry 4613 marked if the entry identifier is marked. 4614 46152010-06-03 Richard Guenther <rguenther@suse.de> 4616 4617 Backport from mainline: 4618 2010-05-16 Richard Guenther <rguenther@suse.de> 4619 4620 * var-tracking.c (vars_copy_1): Inline ... 4621 (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT. 4622 (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts. 4623 (variable_merge_over_cur): Adjust. Merge asserts. 4624 (variable_merge_over_src): Likewise. 4625 (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT. 4626 (variable_post_merge_new_vals): Merge asserts. 4627 (variable_post_merge_perm_vals): Likewise. 4628 (find_mem_expr_in_1pdv): Likewise. 4629 (dataflow_set_different_value): Remove. 4630 (onepart_variable_different_p): Merge asserts. 4631 (variable_different_p): Likewise. 4632 (dataflow_set_different_1): Inline ... 4633 (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT. 4634 (emit_notes_for_differences_1): Merge asserts. 4635 46362010-06-03 Jan Hubicka <jh@suse.cz> 4637 Jakub Jelinek <jakub@redhat.com> 4638 4639 * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if 4640 set->regs[i] is NULL or has just one entry. 4641 46422010-06-03 Alan Modra <amodra@gmail.com> 4643 4644 PR target/44169 4645 * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand. 4646 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label 4647 rtx to gen_load_toc_v4_PIC_1b. Tidy. 4648 (rs6000_emit_load_toc_table): Likewise. 4649 46502010-06-02 Richard Guenther <rguenther@suse.de> 4651 4652 * lto-streamer-in.c (input_gimple_stmt): Fix typo. 4653 46542010-06-02 Richard Guenther <rguenther@suse.de> 4655 4656 Backport from mainline: 4657 2010-05-27 Jan Hubicka <jh@suse.cz> 4658 4659 * sched-ebb.c: Rename struct deps to struct deps_desc. 4660 * ddg.c: Likewise. 4661 * sel-sched-ir.c: Likewise. 4662 * sched-deps.c: Likewise. 4663 * sched-int.h: Likewise. 4664 * sched-rgn.c: Likewise. 4665 46662010-06-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 4667 4668 * config/s390/2097.md (z10_fhex): Remove insn reservation. 4669 * config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant. 4670 (*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF, 4671 *mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero 4672 instruction. 4673 * config/s390/s390.c: Don't accept fp zeros as valid constants 4674 anymore. 4675 46762010-05-31 Jakub Jelinek <jakub@redhat.com> 4677 4678 PR target/44338 4679 * config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256, 4680 fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4, 4681 fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4, 4682 fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4, 4683 fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4, 4684 fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4, 4685 fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4): 4686 Guard only with TARGET_FMA4 instead of TARGET_FMA4 && 4687 TARGET_FUSED_MADD. 4688 4689 PR middle-end/44337 4690 * expr.c (expand_assignment): Don't store anything for out-of-bounds 4691 array accesses with non-MEM. 4692 4693 PR tree-optimization/44182 4694 * tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that 4695 newly needs to end a bb is followed by debug stmts, instead return 4696 true from the function at the end. 4697 (maybe_move_debug_stmts_to_successors): New function. 4698 (copy_cfg_body): Call it if copy_edges_for_bb returned true. 4699 47002010-05-31 Kai Tietz <kai.tietz@onevision.com> 4701 4702 Merged from trunk 4703 PR target/44161 4704 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle 4705 flag_pic. 4706 47072010-05-28 Richard Guenther <rguenther@suse.de> 4708 4709 PR lto/44312 4710 * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields): 4711 Stream fixed-point constants mode. 4712 (unpack_ts_type_value_fields): Fix width of TYPE_MODE 4713 and TYPE_PRECISION. 4714 * lto-streamer-out.c (pack_ts_fixed_cst_value_fields): 4715 Stream fixed-point constants mode. 4716 (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE 4717 and TYPE_PRECISION. 4718 47192010-05-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 4720 4721 * config/s390/s390.md (movqi): Fix typo ('*' -> '#'). 4722 47232010-05-28 Jakub Jelinek <jakub@redhat.com> 4724 4725 PR target/43636 4726 * builtins.c (expand_movstr): Use a temporary pseudo instead 4727 of target even when target is not NULL and not const0_rtx, but 4728 fails movstr predicate. 4729 * config/m32c/blkmov.md (movstr): Add predicate to first operand. 4730 47312010-05-27 Jon Beniston <jon@beniston.com> 4732 4733 PR 43726 4734 * config/lm32/lm32.h: Remove definition of 4735 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year. 4736 47372010-05-26 Richard Guenther <rguenther@suse.de> 4738 4739 PR rtl-optimization/44164 4740 * tree-ssa-alias.c (aliasing_component_refs_p): Fix the 4741 no-common access-path disambiguation. 4742 (indirect_ref_may_alias_decl_p): Adjust. 4743 (indirect_refs_may_alias_p): Likewise. 4744 (refs_may_alias_p_1): Likewise. 4745 47462010-05-26 Richard Guenther <rguenther@suse.de> 4747 4748 PR middle-end/44069 4749 * tree-ssa-ccp.c (maybe_fold_stmt_addition): Avoid generating 4750 out-of-bounds array accesses. 4751 47522010-05-26 Richard Guenther <rguenther@suse.de> 4753 4754 Backport from mainline: 4755 2010-04-15 Richard Guenther <rguenther@suse.de> 4756 4757 * alias.c (alias_set_subset_of): Handle alias-set zero 4758 child properly. 4759 47602010-05-26 Jakub Jelinek <jakub@redhat.com> 4761 4762 PR target/44199 4763 * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca 4764 or total_size is larger than red zone size for non-V4 ABI, emit a 4765 stack_tie resp. frame_tie insn before stack pointer restore. 4766 * config/rs6000/rs6000.md (frame_tie): New insn. 4767 47682010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4769 4770 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout, 4771 stderr to /dev/null instead of grep -q. 4772 * configure: Regenerate. 4773 47742010-05-25 Richard Guenther <rguenther@suse.de> 4775 4776 * gimple.c (gimple_types_compatible_p): Check type qualifications 4777 before merging pointer to complete and pointer to incomplete type. 4778 * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure 4779 we use our own resolution algorithm. The gold linker plugin 4780 doesn't do the job we want it to do here. 4781 47822010-05-24 Richard Guenther <rguenther@suse.de> 4783 4784 PR lto/44196 4785 * tree.c (find_decls_types_r): Walk BLOCKs and its vars. 4786 47872010-05-24 Uros Bizjak <ubizjak@gmail.com> 4788 4789 Backport from mainline: 4790 2010-05-20 Uros Bizjak <ubizjak@gmail.com> 4791 4792 PR target/43733 4793 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode. 4794 * configure: Regenerate. 4795 * config.in: Regenerate. 4796 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e 4797 instead of sahf only for 64bit targets. 4798 47992010-05-24 H.J. Lu <hongjiu.lu@intel.com> 4800 4801 Backport from mainline 4802 2010-05-24 H.J. Lu <hongjiu.lu@intel.com> 4803 4804 * config/i386/ia32intrin.h (__crc32q): Define only if 4805 __SSE4_2__ is defined. 4806 48072010-05-23 H.J. Lu <hongjiu.lu@intel.com> 4808 4809 Backport from mainline 4810 2010-05-23 H.J. Lu <hongjiu.lu@intel.com> 4811 4812 PR target/44245 4813 * config/i386/i386.c (def_builtin): Properly check 4814 OPTION_MASK_ISA_64BIT. 4815 48162010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com> 4817 4818 Merged from trunk 4819 PR target/43869 4820 * config/i386/i386.c: Make sure that the correct regparm is passed. 4821 48222010-05-21 Jakub Jelinek <jakub@redhat.com> 4823 4824 PR debug/44223 4825 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST, 4826 unchain each use from the cyclic next_regno_use chain first. 4827 48282010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 4829 4830 * config/s390/s390.c (override_options): Increase the default 4831 of max-completely-peel-times. 4832 48332010-05-21 Richard Guenther <rguenther@suse.de> 4834 4835 PR tree-optimization/44038 4836 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid 4837 taking the address of a V_C_E of a constant. 4838 48392010-05-21 Richard Guenther <rguenther@suse.de> 4840 4841 PR tree-optimization/43949 4842 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigend types. 4843 (extract_range_from_binary_expr): Handle TRUNC_MOD_EXPR. 4844 48452010-05-21 Jakub Jelinek <jakub@redhat.com> 4846 4847 PR debug/44205 4848 * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if 4849 at -O0 goto_locus of any of the incoming edges differs from 4850 goto_locus of outgoing edge, or gimple_location of any of the 4851 labels differs. 4852 48532010-05-20 Jakub Jelinek <jakub@redhat.com> 4854 4855 PR debug/44178 4856 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call 4857 setup_ref_regs for DEBUG_INSNs. 4858 48592010-05-19 Kenneth Zadeck <zadeck@naturalbridge.com> 4860 4861 PR bootstrap/43870 4862 * df-scan.c (df_ref_compare): Stabilize sort. 4863 48642010-05-20 Hans-Peter Nilsson <hp@axis.com> 4865 4866 PR target/44202 4867 * config/cris/cris.md ("*addsi3_v32"): Correct "cc" 4868 settings for 16-bit-constant "addo" alternative. 4869 48702010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4871 4872 Backport from mainline: 4873 2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4874 4875 PR target/44074 4876 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test. 4877 * configure: Regenerate. 4878 * config.in: Regenerate. 4879 * config/i386/i386.c (print_operand) <case ;>: Also print ; if 4880 !HAVE_AS_IX86_REP_LOCK_PREFIX. 4881 Don't emit whitespace. 4882 * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep. 4883 (*rep_movsi): Likewise. 4884 (*rep_movsi_rex64): Likewise. 4885 (*rep_movqi): Likewise. 4886 (*rep_movqi_rex64): Likewise. 4887 (*rep_stosdi_rex64): Likewise. 4888 (*rep_stossi): Likewise. 4889 (*rep_stossi_rex64): Likewise. 4890 (*rep_stosqi): Likewise. 4891 (*rep_stosqi_rex64): Likewise. 4892 (*cmpstrnqi_nz_1): Use {%;} after repz. 4893 (*cmpstrnqi_nz_rex_1): Likewise. 4894 (*cmpstrnqi_1): Likewise. 4895 (*cmpstrnqi_rex_1): Likewise. 4896 (*strlenqi_1): Use {%;} after repnz. 4897 (*strlenqi_rex_1): Likewise. 4898 * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} . 4899 (*sync_compare_and_swap<mode>): Likewise. 4900 (sync_double_compare_and_swap<mode>): Likewise. 4901 (*sync_double_compare_and_swapdi_pic): Likewise. 4902 (sync_old_add<mode>): Likewise. 4903 (sync_add<mode>): Likewise. 4904 (sync_sub<mode>): Likewise. 4905 (sync_<code><mode>): Likewise. 4906 49072010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4908 4909 * doc/sourcebuild.texi (Effective-Target Keywords): Document 4910 3dnow, sse3, sse2. 4911 (Directives): Document optional dg-require-effective-target 4912 selector. 4913 49142010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4915 4916 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to 4917 pentiumpro on Solaris 8/x86 with Sun as. 4918 * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as 4919 hidden alias bug. 4920 (gcc_cv_as_ix86_quad): Check for .quad directive. 4921 * configure: Regenerate. 4922 * config.in: Regenerate. 4923 * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD. 4924 49252010-05-19 Richard Guenther <rguenther@suse.de> 4926 4927 PR tree-optimization/43987 4928 * tree-ssa-structalias.c (could_have_pointers): For possibly 4929 address-taken variables force pointers to be recorded. 4930 (create_variable_info_for_1): Likewise. 4931 (push_fields_onto_fieldstack): Pass in wheter all fields 4932 must have pointers. 4933 (find_func_aliases): Query types instead of vars whether 4934 they contain pointers where appropriate. 4935 49362010-05-19 Richard Guenther <rguenther@suse.de> 4937 4938 Backport from mainline: 4939 2010-04-26 Richard Guenther <rguenther@suse.de> 4940 4941 PR lto/43455 4942 * tree-inline.c (tree_can_inline_p): Also check compatibility 4943 of return types. 4944 4945 2010-04-23 Richard Guenther <rguenther@suse.de> 4946 4947 PR lto/42653 4948 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT 4949 of FUNCTION_DECLs. 4950 4951 2010-04-26 Richard Guenther <rguenther@suse.de> 4952 4953 PR lto/42425 4954 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT 4955 if emitting debug information and it is either a function 4956 or a namespace decl. 4957 4958 2010-04-26 Richard Guenther <rguenther@suse.de> 4959 4960 PR lto/43080 4961 * gimple.c (gimple_decl_printable_name): Deal gracefully 4962 with a NULL DECL_NAME. 4963 4964 2010-04-30 Richard Guenther <rguenther@suse.de> 4965 4966 PR lto/43946 4967 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data 4968 first after all lowering passes. 4969 49702010-05-18 Steven Bosscher <steven@gcc.gnu.org> 4971 4972 PR lto/44184 4973 * lto-streamer-out.c (output_gimple_stmt): Output number of labels 4974 in a GIMPLE_ASM. 4975 * lto-streamer-in.c (input_gimple_stmt): Read number of labels 4976 in a GIMPLE_ASM. 4977 49782010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4979 4980 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition. 4981 49822010-05-17 Jakub Jelinek <jakub@redhat.com> 4983 4984 PR bootstrap/42347 4985 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p 4986 to have no fallthru edge. 4987 4988 PR middle-end/44102 4989 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty 4990 bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT 4991 mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL 4992 add BARRIER after previous bb if needed. 4993 49942010-05-17 Alan Modra <amodra@gmail.com> 4995 4996 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete 4997 unnecessary prototype. Replace copy_r12 and copy_r11 flag params 4998 with copy_reg rtx param. 4999 (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls. 5000 Correct cases where code for ABI_V4 did not initialise the reg 5001 used to access frame. Also leave frame_reg_rtx as sp for large 5002 frames that save no regs. 5003 50042010-05-17 Eric Botcazou <ebotcazou@adacore.com> 5005 5006 Backport from mainline 5007 2010-05-16 Eric Botcazou <ebotcazou@adacore.com> 5008 5009 * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO. 5010 (decode_options): Likewise. 5011 * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H. 5012 50132010-05-14 Jason Merrill <jason@redhat.com> 5014 5015 PR c++/44127 5016 * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW. 5017 (gimple_call_set_nothrow): New. 5018 * gimple.c (gimple_build_call_from_tree): Call it. 5019 (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW. 5020 5021 PR c++/44127 5022 * gimplify.c (gimplify_seq_add_stmt): No longer static. 5023 * gimple.h: Declare it. 5024 * gimple.c (gimple_build_eh_filter): No ops. 5025 50262010-05-14 Jakub Jelinek <jakub@redhat.com> 5027 5028 PR debug/44136 5029 * cfgexpand.c (expand_debug_expr): If non-memory op0 5030 has BLKmode, return NULL. 5031 50322010-05-14 H.J. Lu <hongjiu.lu@intel.com> 5033 5034 Backport from mainline 5035 2010-05-12 H.J. Lu <hongjiu.lu@intel.com> 5036 5037 PR target/44088 5038 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New. 5039 50402010-05-14 Richard Guenther <rguenther@suse.de> 5041 5042 PR tree-optimization/44124 5043 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access. 5044 50452010-05-13 Jason Merrill <jason@redhat.com> 5046 5047 * gimplify.c (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the 5048 rhs didn't change. 5049 5050 PR c++/43787 5051 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr 5052 returns GS_OK. 5053 (gimplify_modify_expr_rhs): Return GS_OK if anything changed. 5054 50552010-05-12 Wolfgang Gellerich <gellerich@de.ibm.com> 5056 5057 * config/s390/s390.c (override_options): Adjust the z10 defaults 5058 for max-unroll-times, max-completely-peeled-insns 5059 and max-completely-peel-times. 5060 50612010-05-12 Jakub Jelinek <jakub@redhat.com> 5062 5063 PR middle-end/44085 5064 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK, 5065 change value of ORT_TASK. 5066 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK. 5067 (omp_notice_threadprivate_variable): New function. 5068 (omp_notice_variable): Call it for threadprivate variables. 5069 If enclosing ctx is a task, print enclosing task rather than 5070 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK. 5071 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK 5072 if task has untied clause. 5073 50742010-05-11 Jakub Jelinek <jakub@redhat.com> 5075 5076 PR middle-end/44071 5077 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have 5078 no fallthru edge. 5079 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode 5080 optimizing away empty bb with no successors, move over its 5081 footer chain to fallthru predecessor. 5082 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND. 5083 (rtl_split_edge): For asm goto call patch_jump_insn even if 5084 splitting fallthru edge. 5085 50862010-05-11 Martin Jambor <mjambor@suse.cz> 5087 5088 PR middle-end/43812 5089 * ipa.c (dissolve_same_comdat_group_list): New function. 5090 (function_and_variable_visibility): Call 5091 dissolve_same_comdat_group_list when comdat group contains external or 5092 newly local nodes. 5093 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group 5094 lists are circular and that they contain only DECL_ONE_ONLY nodes. 5095 50962010-05-10 Jakub Jelinek <jakub@redhat.com> 5097 5098 PR debug/44028 5099 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC, 5100 clear also INSN_REG_USE_LIST. 5101 51022010-05-10 H.J. Lu <hongjiu.lu@intel.com> 5103 5104 Backport from mainline 5105 2010-05-10 H.J. Lu <hongjiu.lu@intel.com> 5106 Vladimir Makarov <vmakarov@redhat.com> 5107 5108 PR rtl-optimization/44012 5109 * ira-build.c (remove_unnecessary_allocnos): Nullify 5110 regno_allocno_map of the removed allocno. 5111 51122010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5113 5114 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors 5115 to /dev/null. 5116 * configure: Regenerate. 5117 51182010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5119 5120 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis 5121 unused. 5122 Define visibility_types, name, type inside HAVE_GAS_HIDDEN. 5123 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility 5124 support in Sun ld. 5125 * configure: Regenerate. 5126 51272010-05-09 H.J. Lu <hongjiu.lu@intel.com> 5128 5129 Backport from mainline 5130 2010-05-09 H.J. Lu <hongjiu.lu@intel.com> 5131 5132 PR target/44046 5133 * config/i386/driver-i386.c (host_detect_local_cpu): Properly 5134 detect Atom, Core 2 and Core i7. 5135 51362010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5137 5138 PR documentation/44016 5139 * doc/standards.texi (Standards): Link to unversioned 5140 cxx0x_status.html page. 5141 51422010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5143 5144 * config/mips/iris.h (LINK_SPEC): Don't pass -init, -fini with -r. 5145 51462010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5147 5148 * config/mips/dbxmdebug.h: Remove. 5149 * config.gcc (mips-sgi-irix[56]*): Remove mips/dbxmdebug.h. 5150 51512010-05-05 Kaz Kojima <kkojima@gcc.gnu.org> 5152 5153 Backport from mainline: 5154 2010-04-22 Kaz Kojima <kkojima@gcc.gnu.org> 5155 5156 PR target/43744 5157 * config/sh/sh.c (find_barrier): Don't emit a constant pool 5158 in the middle of insns for casesi_worker_2. 5159 51602010-05-05 Jason Merrill <jason@redhat.com> 5161 5162 PR debug/43370 5163 * c-common.c (handle_aligned_attribute): Respect 5164 ATTR_FLAG_TYPE_IN_PLACE. 5165 51662010-05-05 Richard Guenther <rguenther@suse.de> 5167 5168 PR c++/43880 5169 * tree-inline.c (copy_bind_expr): Also copy bind expr vars 5170 value-exprs. 5171 51722010-05-04 H.J. Lu <hongjiu.lu@intel.com> 5173 5174 Backport from mainline 5175 2010-05-04 H.J. Lu <hongjiu.lu@intel.com> 5176 5177 PR middle-end/43671 5178 * alias.c (true_dependence): Handle the same VALUE in x and mem. 5179 (canon_true_dependence): Likewise. 5180 (write_dependence_p): Likewise. 5181 51822010-05-03 Jakub Jelinek <jakub@redhat.com> 5183 5184 PR debug/43972 5185 * config/i386/i386.c (ix86_delegitimize_address): Make sure the 5186 result mode matches original rtl mode. 5187 51882010-05-02 Uros Bizjak <ubizjak@gmail.com> 5189 5190 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa', 5191 when processing flag options. 5192 51932010-05-02 H.J. Lu <hongjiu.lu@intel.com> 5194 5195 Backport from mainline 5196 2010-04-29 H.J. Lu <hongjiu.lu@intel.com> 5197 5198 PR target/43921 5199 * config/i386/i386.c (get_some_local_dynamic_name): Replace 5200 INSN_P with NONDEBUG_INSN_P. 5201 (distance_non_agu_define): Likewise. 5202 (distance_agu_use): Likewise. 5203 52042010-04-30 Eric Botcazou <ebotcazou@adacore.com> 5205 5206 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of 5207 the variable part of the offset as well. Use highest_pow2_factor for 5208 all alignment checks. 5209 52102010-04-30 Jakub Jelinek <jakub@redhat.com> 5211 5212 PR debug/43942 5213 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars. 5214 52152010-04-28 Uros Bizjak <ubizjak@gmail.com> 5216 5217 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object 5218 type if available. 5219 52202010-04-28 Eric Botcazou <ebotcazou@adacore.com> 5221 5222 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for 5223 record or union type with RECORD_OR_UNION_TYPE_P predicate. 5224 (lto_input_ts_type_tree_pointers): Likewise. 5225 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise. 5226 (lto_output_ts_type_tree_pointers): Likewise. 5227 52282010-04-28 Eric Botcazou <ebotcazou@adacore.com> 5229 5230 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry, 5231 hash_tree, eq_tree): New tree hash table. 5232 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it. 5233 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get, 5234 lto_orig_address_remove): Reimplement. 5235 52362010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5237 5238 PR target/22224 5239 * config/alpha/osf.h (ASM_OUTPUT_LOCAL): Redefine. 5240 52412010-04-28 Martin Jambor <mjambor@suse.cz> 5242 5243 PR tree-optimization/43846 5244 * tree-sra.c (struct access): New flag grp_assignment_read. 5245 (build_accesses_from_assign): Set grp_assignment_read. 5246 (sort_and_splice_var_accesses): Propagate grp_assignment_read. 5247 (enum mark_read_status): New type. 5248 (analyze_access_subtree): Propagate grp_assignment_read, create 5249 accesses also if both direct_read and root->grp_assignment_read. 5250 52512010-04-27 Kai Tietz <kai.tietz@onevision.com> 5252 5253 Back-merged from trnnk. 5254 * collect2.c (TARGET_64BIT): Redefine to target's default. 5255 * tlink.c: Likewise. 5256 * config/i386/cygming.h (USER_LABEL_PREFIX): Define 5257 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES. 5258 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use 5259 for underscoring __USER_LABEL_PREFIX__. 5260 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro. 5261 (SUB_LINK_ENTRY32): New. 5262 (SUB_LINK_ENTRY64): New. 5263 (LINK_SPEC): Replace entry point spec by 5264 SUB_LINK_ENTRY. 5265 * config/i386/mingw32 (SUB_LINK_ENTRY32): New. 5266 (SUB_LINK_ENTRY64): New. 5267 (SUB_LINK_ENTRY): New. 5268 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point. 5269 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when 5270 x64 target is choosen. 5271 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New. 5272 * configure: Regenerated. 5273 * configure.ac (leading-mingw64-underscores): Option added. 5274 52752010-04-27 Jakub Jelinek <jakub@redhat.com> 5276 5277 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression 5278 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register 5279 or DW_CFA_def_cfa_offset{,_sf}. 5280 5281 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes. 5282 52832010-04-27 Hans-Peter Nilsson <hp@bitrange.com> 5284 5285 PR target/43889 5286 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"): 5287 Add missing earlyclobber for second alternative. 5288 52892010-04-26 Jakub Jelinek <jakub@redhat.com> 5290 5291 PR c/43893 5292 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR. 5293 52942010-04-26 Jie Zhang <jie@codesourcery.com> 5295 5296 PR tree-optimization/43833 5297 * tree-vrp.c (range_int_cst_p): New. 5298 (range_int_cst_singleton_p): New. 5299 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case 5300 when both operands are constants. Use range_int_cst_p in 5301 BIT_IOR_EXPR case. 5302 53032010-04-23 Martin Jambor <mjambor@suse.cz> 5304 5305 PR middle-end/43835 5306 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the 5307 function does not have type attributes. 5308 53092010-04-23 Richard Guenther <rguenther@suse.de> 5310 5311 PR tree-optimization/43572 5312 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses. 5313 53142010-04-23 Richard Guenther <rguenther@suse.de> 5315 5316 Backport from mainline 5317 2010-04-22 Richard Guenther <rguenther@suse.de> 5318 5319 PR tree-optimization/43845 5320 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly 5321 lookup the CALL_EXPR function and arguments. 5322 53232010-04-21 Jakub Jelinek <jakub@redhat.com> 5324 5325 PR middle-end/43570 5326 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op 5327 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE. 5328 (lower_copyprivate_clauses): Use private var in outer 5329 context instead of original var. Make sure the types 5330 are correct for VLAs. 5331 53322010-04-20 Richard Guenther <rguenther@suse.de> 5333 5334 PR tree-optimization/43783 5335 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop 5336 constant ARRAY_REF operands two and three if possible. 5337 53382010-04-20 Richard Guenther <rguenther@suse.de> 5339 5340 PR tree-optimization/43796 5341 * tree-vrp.c (adjust_range_with_scev): Lookup init and step 5342 from SCEV in the lattice. 5343 (vrp_visit_phi_node): Dump change. 5344 53452010-04-20 Jakub Jelinek <jakub@redhat.com> 5346 5347 PR middle-end/43337 5348 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE 5349 with non-local decl doesn't need chain. 5350 53512010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 5352 5353 PR target/43635 5354 * config/s390/s390.c (s390_emit_call): Turn direct into indirect 5355 calls for -fpic -m31 if they have been sibcall optimized. 5356 53572010-04-19 DJ Delorie <dj@redhat.com> 5358 5359 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in 5360 POINTER_PLUS_EXPR and fix them. 5361 53622010-04-19 Jie Zhang <jie@codesourcery.com> 5363 5364 PR target/43662 5365 * reginfo.c (reinit_regs): Set caller_save_initialized_p 5366 to false. 5367 53682010-04-19 Richard Guenther <rguenther@suse.de> 5369 5370 PR tree-optimization/43572 5371 * tree-tailcall.c (find_tail_calls): Verify the tail call 5372 properly. 5373 53742010-04-19 Ira Rosen <irar@il.ibm.com> 5375 5376 PR tree-optimization/43771 5377 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that 5378 load permutation doesn't have gaps. 5379 53802010-04-18 Matthias Klose <doko@ubuntu.com> 5381 5382 * gcc.c (main): Search for liblto_plugin.so with mode R_OK. 5383 53842010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5385 5386 Backport from mainline: 5387 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5388 5389 * configure.ac (plugin -rdynamic test): Log result. 5390 * configure: Regenerate. 5391 * config/sol2.h (LINK_SPEC): Handle -rdynamic. 5392 (RDYNAMIC_SPEC): Define. 5393 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine. 5394 53952010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5396 5397 Backport from mainline: 5398 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5399 5400 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ... 5401 * config/sol2-gld.h: ... here. 5402 * config.gcc (sparc*-*-solaris2*): Reflect this. 5403 (i[34567]86-*-solaris2*): Use it. 5404 54052010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5406 5407 Backport from mainline: 5408 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5409 5410 * configure.ac: Determine Sun ld version numbers. 5411 (comdat_group): Restrict GNU ld version checks to gld. 5412 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688. 5413 (enable_comdat): Support --enable-comdat. 5414 * configure: Regenerate. 5415 * doc/install.texi (Configuration): Document --enable-comdat. 5416 54172010-04-01 Uros Bizjak <ubizjak@gmail.com> 5418 5419 Backport from mainline: 5420 2010-04-14 Uros Bizjak <ubizjak@gmail.com> 5421 5422 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from 5423 splitter condition. 5424 (*udivmod<mode>4): Ditto. 5425 5426 2010-04-14 Uros Bizjak <ubizjak@gmail.com> 5427 5428 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute 5429 from insn template. 5430 54312010-04-15 Thomas Schwinge <tschwinge@gnu.org> 5432 5433 Backport from mainline: 5434 2010-04-15 Thomas Schwinge <tschwinge@gnu.org> 5435 5436 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux. 5437 54382010-04-15 Richard Guenther <rguenther@suse.de> 5439 5440 PR tree-optimization/43627 5441 * tree-vrp.c (extract_range_from_unary_expr): Widenings 5442 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type, 5443 not varying. 5444 54452010-04-14 Richard Guenther <rguenther@suse.de> 5446 5447 * DEV-PHASE: Set back to prerelease. 5448 * BASE-VER: Bump to 4.5.1. 5449 54502010-04-14 Release Manager 5451 5452 * GCC 4.5.0 released. 5453 54542010-04-13 Michael Matz <matz@suse.de> 5455 5456 PR middle-end/43730 5457 * builtins.c (expand_builtin_interclass_mathfn): Also create 5458 a register if the predicate doesn't match. 5459 54602010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5461 5462 * doc/contrib.texi (Contributors, Rainer Orth): Update. 5463 54642010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5465 5466 PR target/43643 5467 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx. 5468 54692010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5470 5471 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar. 5472 (Specific, *-*-solaris2*): Likewise. 5473 Don't prefer Sun as over GNU as. 5474 54752010-04-08 Richard Guenther <rguenther@suse.de> 5476 5477 PR tree-optimization/43679 5478 * tree-ssa-pre.c (eliminate): Only propagate copies. 5479 54802010-04-08 Jakub Jelinek <jakub@redhat.com> 5481 5482 PR debug/43670 5483 * cfgexpand.c (expand_debug_expr): If for non-NULL offset 5484 op0 is not a MEM, just return NULL instead of assertion 5485 failure. 5486 (discover_nonconstant_array_refs): Don't walk debug stmts. 5487 54882010-04-07 H.J. Lu <hongjiu.lu@intel.com> 5489 5490 PR target/43668 5491 * config/i386/i386.c (setup_incoming_varargs_64): Align stack to 5492 16byte for FP register save area. 5493 54942010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5495 5496 * doc/install.texi (Configuration): Move description of 5497 --enable-lto, --with-libelf*, --enable-gold from Java section to 5498 general section. 5499 5500 * doc/generic.texi (Working with declarations) 5501 (Function Properties, C and C++ Trees): Fix typos. 5502 * doc/sourcebuild.texi (Top Level): Likewise. 5503 55042010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5505 5506 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to 5507 generic. 5508 55092010-04-06 Jakub Jelinek <jakub@redhat.com> 5510 5511 PR target/43667 5512 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP 5513 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*. 5514 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of 5515 MULTI_* defines for 4 argument vpermil2p* builtins. 5516 55172010-04-06 Joseph Myers <joseph@codesourcery.com> 5518 5519 * doc/invoke.texi, doc/standards.texi: Refer to 5520 gcc-4.5/c99status.html. 5521 55222010-04-06 Jakub Jelinek <jakub@redhat.com> 5523 5524 PR target/43638 5525 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code 5526 handling. 5527 55282010-04-06 Richard Guenther <rguenther@suse.de> 5529 5530 PR middle-end/43661 5531 * fold-const.c (fold_comparison): Handle X * 0 CMP 0. 5532 55332010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5534 5535 * doc/invoke.texi (Optimize Options): Document that LTO 5536 won't remove object access purely due to incompatible 5537 declarations. 5538 55392010-04-04 Matthias Klose <doko@ubuntu.com> 5540 5541 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array): 5542 Initialize variable. 5543 55442010-04-03 Richard Guenther <rguenther@suse.de> 5545 5546 PR middle-end/42509 5547 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses 5548 require a non-NULL MEM_OFFSET. 5549 55502010-04-02 Steven Bosscher <steven@gcc.gnu.org> 5551 5552 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, 5553 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h, 5554 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md, 5555 config/alpha/predicates.md, config/arm/arm.md, 5556 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml, 5557 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c, 5558 config/darwin9.h, config/darwin.c, config/darwin.h, 5559 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h, 5560 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c, 5561 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c, 5562 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c, 5563 config/mips/mips.md, config/mn10300/mn10300.c, 5564 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md, 5565 config/rs6000/aix.h, config/rs6000/dfp.md, 5566 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c, 5567 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md, 5568 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h, 5569 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md, 5570 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c, 5571 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in, 5572 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c, 5573 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi, 5574 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi, 5575 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c, 5576 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h, 5577 gensupport.c, gimple.h, gimple-iterator.c, graphite.c, 5578 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h, 5579 graphite-dependences.c, graphite-poly.c, graphite-poly.h, 5580 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c, 5581 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c, 5582 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h, 5583 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c, 5584 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c, 5585 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c, 5586 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk, 5587 opt-functions.awk, opth-gen.awk, params.def, passes.c, 5588 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h, 5589 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h, 5590 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c, 5591 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h, 5592 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c, 5593 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c, 5594 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c, 5595 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c, 5596 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c, 5597 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c, 5598 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c, 5599 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c, 5600 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c, 5601 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years. 5602 56032010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5604 5605 PR other/43620 5606 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1. 5607 * aclocal.m4: Regenerate. 5608 56092010-04-02 Richard Guenther <rguenther@suse.de> 5610 5611 PR tree-optimization/43629 5612 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands 5613 if we have seen a constant value. 5614 56152010-04-02 Joseph Myers <joseph@codesourcery.com> 5616 5617 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for 5618 ']'. 5619 56202010-04-02 Richard Earnshaw <rearnsha@arm.com> 5621 5622 PR target/43469 5623 * arm.c (legitimize_tls_address): Adjust call to 5624 gen_tls_load_dot_plus_four. 5625 (arm_note_pic_base): New function. 5626 (arm_cannot_copy_insn_p): Use it. 5627 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in 5628 constraint. 5629 56302010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5631 5632 PR bootstrap/43531 5633 5634 Revert: 5635 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5636 5637 * Makefile.in ($(out_object_file)): Depend on 5638 gt-$(basename $(notdir $(out_file))).h. 5639 56402010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org> 5641 5642 * config.gcc (lm32-*-rtems*): Add t-lm32. 5643 56442010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com> 5645 5646 * config.gcc: Add lm32-*-rtems*. 5647 * config/lm32/rtems.h: New file. 5648 56492010-04-01 Dave Korn <dave.korn.cygwin@gmail.com> 5650 5651 PR target/42609 5652 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin. 5653 56542010-04-01 Jakub Jelinek <jakub@redhat.com> 5655 5656 * dwarf2out.c (output_compilation_unit_header): For 5657 -gdwarf-4 use version 4 instead of version 3. 5658 (output_line_info): For version 4 and above emit additional 5659 maximum ops per insn header field. 5660 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define. 5661 5662 * dwarf2out.c (is_c_family, is_java): Remove. 5663 (lower_bound_default): New function. 5664 (add_bound_info, gen_descr_array_type_die): Use it. 5665 56662010-04-01 Dodji Seketeli <dodji@redhat.com> 5667 5668 PR debug/43325 5669 * dwarf2out.c (gen_variable_die): Allow debug info for variable 5670 re-declaration when it happens in a function. 5671 56722010-04-01 Aldy Hernandez <aldyh@redhat.com> 5673 5674 * cgraph.c (cgraph_add_function_insertion_hook): Update comment. 5675 (cgraph_remove_function_insertion_hook): Same. 5676 (cgraph_call_function_insertion_hooks): Same. 5677 56782010-04-01 Richard Guenther <rguenther@suse.de> 5679 5680 PR middle-end/43614 5681 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS 5682 and TREE_THIS_VOLATILE. 5683 (copy_ref_info): Likewise. 5684 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE. 5685 * tree.c (build6_stat): Ignore side-effects of all but arg5 5686 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of 5687 TARGET_MEM_REF. 5688 56892010-04-01 Richard Guenther <rguenther@suse.de> 5690 5691 PR tree-optimization/43607 5692 * ipa-type-escape.c (check_call): Do not access non-existing 5693 arguments. 5694 56952010-04-01 Richard Guenther <rguenther@suse.de> 5696 5697 PR middle-end/43602 5698 Revert 5699 2010-03-30 Seongbae Park <seongbae.park@gmail.com> 5700 Jack Howarth <howarth@bromo.med.uc.edu> 5701 5702 * tree-profile.c (tree_init_ic_make_global_vars): Make static 5703 variables TLS. 5704 57052010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5706 5707 * doc/install.texi (Prerequisites): Document libelf usability on 5708 IRIX 5/6 and Solaris 2. 5709 (Specific, i?86-*-solaris2.10): No 64-bit default configuration. 5710 Update GNU as, GNU ld requirements. 5711 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal. 5712 Document Sun Studio compiler download. 5713 Update and simplify as, ld recommendations. 5714 (Specific, *-*-solaris2.7): Note obsoletion, removal. 5715 57162010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5717 5718 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32, 5719 with_tune_32 to pentium4. 5720 57212010-04-01 Uros Bizjak <ubizjak@gmail.com> 5722 5723 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment. 5724 57252010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5726 5727 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5 5728 obsoletion, removal. 5729 Update IDO URL. 5730 Document GNU as requirement. 5731 Update configure requirements. 5732 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, 5733 removal. 5734 Recomment IRIX 6.5.18+. 5735 Document IDF/IDL requirement. 5736 Document GNU as requirement. 5737 Document GNU ld bootstrap failure. 5738 Remove freeware.sgi.com reference. 5739 57402010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5741 5742 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64 5743 UNIX V4.0, V5.0 obsoletion, removal. 5744 Remove --with-gc=simple reference. 5745 Update VM requirements during bootstrap. 5746 Remove -oldas bootstrap description. 5747 Update binutils reference. 5748 Remove comparison failure note. 5749 57502010-03-31 Richard Guenther <rguenther@suse.de> 5751 Zdenek Dvorak <ook@ucw.cz> 5752 Sebastian Pop <sebastian.pop@amd.com> 5753 5754 PR middle-end/43464 5755 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes 5756 with multiple arguments. 5757 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa. 5758 57592010-03-31 Sebastian Pop <sebastian.pop@amd.com> 5760 5761 * graphite-dependences.c (print_pddr): Call print_pdr with an 5762 extra argument. 5763 * graphite-poly.c (debug_pdr): Add an extra argument for the 5764 verbosity level. 5765 (print_pdr): Same. 5766 (print_pbb_domain): Same. 5767 (print_pbb): Same. 5768 (print_scop_context): Same. 5769 (print_scop): Same. 5770 (print_cloog): Same. 5771 (debug_pbb_domain): Same. 5772 (debug_pbb): Same. 5773 (print_pdrs): Same. 5774 (debug_pdrs): Same. 5775 (debug_scop_context): Same. 5776 (debug_scop): Same. 5777 (debug_cloog): Same. 5778 (print_scop_params): Same. 5779 (debug_scop_params): Same. 5780 (print_iteration_domain): Same. 5781 (print_iteration_domains): Same. 5782 (debug_iteration_domain): Same. 5783 (debug_iteration_domains): Same. 5784 (print_scattering_function): Same. 5785 (print_scattering_functions): Same. 5786 (debug_scattering_function): Same. 5787 (debug_scattering_functions): Same. 5788 * graphite-poly.h (debug_pdr): Update declaration. 5789 (print_pdr): Same. 5790 (print_pbb_domain): Same. 5791 (print_pbb): Same. 5792 (print_scop_context): Same. 5793 (print_scop): Same. 5794 (print_cloog): Same. 5795 (debug_pbb_domain): Same. 5796 (debug_pbb): Same. 5797 (print_pdrs): Same. 5798 (debug_pdrs): Same. 5799 (debug_scop_context): Same. 5800 (debug_scop): Same. 5801 (debug_cloog): Same. 5802 (print_scop_params): Same. 5803 (debug_scop_params): Same. 5804 (print_iteration_domain): Same. 5805 (print_iteration_domains): Same. 5806 (debug_iteration_domain): Same. 5807 (debug_iteration_domains): Same. 5808 (print_scattering_function): Same. 5809 (print_scattering_functions): Same. 5810 (debug_scattering_function): Same. 5811 (debug_scattering_functions): Same. 5812 58132010-03-31 Sebastian Pop <sebastian.pop@amd.com> 5814 5815 * graphite-poly.c (print_scattering_function_1): New. 5816 (print_scattering_function): Call it. 5817 (print_scop_params): Remove spaces at the end of lines. 5818 (print_cloog): New. 5819 (debug_cloog): New. 5820 * graphite-poly.h (print_cloog): Declared. 5821 (debug_cloog): Declared. 5822 58232010-03-31 Sebastian Pop <sebastian.pop@amd.com> 5824 5825 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump 5826 in loop->header. 5827 * tree-flow.h (canonicalize_loop_ivs): Updated declaration. 5828 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch. 5829 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter 5830 to switch between adding the IV bump in loop->latch or in loop->header. 5831 58322010-03-31 Sebastian Pop <sebastian.pop@amd.com> 5833 5834 * graphite-poly.c (print_scattering_function): Pretty print following 5835 the scoplib format. 5836 (print_pdr): Same. 5837 (print_pbb_domain): Same. 5838 (dump_gbb_cases): Same. 5839 (dump_gbb_conditions): Same. 5840 (print_pdrs): Same. 5841 (print_pbb): Same. 5842 (print_scop_params): Same. 5843 (print_scop_context): Same. 5844 (print_scop): Same. 5845 (print_pbb_body): New. 5846 (lst_indent_to): New. 5847 (print_lst): Start new lines with a #. 5848 * graphite-poly.h (pbb_bb): New. 5849 (pbb_index): Use pbb_bb. 5850 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of 5851 disjuncts. 5852 * tree-data-ref.c (dump_data_reference): Start new lines with a #. 5853 58542010-03-31 Jakub Jelinek <jakub@redhat.com> 5855 5856 * dwarf2out.c (size_of_die): For -gdwarf-4 use 5857 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc 5858 and 0 instead of 1 for dw_val_class_flag. 5859 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for 5860 dw_val_class_range_list, dw_val_class_loc_list, 5861 dw_val_class_lineptr and dw_val_class_macptr, use 5862 DW_FORM_flag_present for dw_val_class_flag and 5863 DW_FORM_exprloc for dw_val_class_loc. 5864 (output_die): For -gdwarf-4 print dw_val_class_loc 5865 size as uleb128 instead of 1 or 2 bytes and don't print 5866 anything for dw_val_class_flag. 5867 5868 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn 5869 instead of cselib_lookup following by tweaking locs->setting_insn. 5870 5871 PR bootstrap/43596 5872 * cselib.c (cselib_process_insn): Clear cselib_current_insn 5873 even before returning from label, setjmp call or volatile asm 5874 handling. 5875 58762010-03-31 Richard Guenther <rguenther@suse.de> 5877 5878 PR middle-end/43600 5879 * cgraphunit.c (cgraph_output_in_order): Do not allocate 5880 temporary data on stack. 5881 58822010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5883 5884 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef. 5885 (PUSHSECTION_ASM_OP): Remove. 5886 (POPSECTION_ASM_OP): Remove. 5887 (PUSHSECTION_FORMAT): Remove. 5888 * config/sol2.h (PUSHSECTION_FORMAT): Define. 5889 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine. 5890 * config/sol2.c (solaris_output_init_fini): Use it. 5891 58922010-03-31 Jie Zhang <jie@codesourcery.com> 5893 5894 PR 43574 5895 * opt-functions.awk (var_type_struct): Use signed char type 5896 for simple variables. 5897 58982010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5899 5900 * config/sol2.c: Include output.h. 5901 (solaris_assemble_visibility): New function. 5902 * config/t-sol2 (sol2.o): Add output.h dependency. 5903 * config/sol2-protos.h (solaris_assemble_visibility): Declare. 5904 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY): 5905 Redefine. 5906 59072010-03-31 Jakub Jelinek <jakub@redhat.com> 5908 5909 PR target/43580 5910 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of 5911 V2SImode or XFmode on PRE_DEC. 5912 5913 PR debug/43557 5914 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like 5915 BLKmode. 5916 59172010-03-31 Jie Zhang <jie@codesourcery.com> 5918 5919 PR 43562 5920 * reload.h (caller_save_initialized_p): Declare. 5921 * toplev.c (backend_init_target): Don't call 5922 init_caller_save but set caller_save_initialized_p to false. 5923 * caller-save.c (caller_save_initialized_p): Define. 5924 (init_caller_save): Check caller_save_initialized_p. 5925 * ira.c (ira): Call init_caller_save if flag_caller_saves. 5926 59272010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5928 5929 PR target/39048 5930 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp 5931 and soft-fp/t-softfp to tmake_file. 5932 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine. 5933 (LIBGCC2_TF_CEXT): Define. 5934 (TF_SIZE): Define. 5935 59362010-03-30 Alexandre Oliva <aoliva@redhat.com> 5937 5938 PR debug/42977 5939 * cselib.c (n_useless_values): Document handling of debug locs. 5940 (n_useless_debug_values, n_debug_values): New variables. 5941 (new_elt_loc_list): Don't add to debug values, keep count. 5942 (promote_debug_loc): New. 5943 (cselib_reset_table): Zero new variables. 5944 (entry_and_rtx_equal_p): Promote debug locs. 5945 (discard_useless_locs): Increment n_useless_debug_values for 5946 debug values. 5947 (remove_useless_values): Adjust n_useless_values and n_debug_values 5948 with n_useless_debug_values. 5949 (add_mem_for_addr): Promote debug locs. 5950 (cselib_lookup_mem): Likewise. 5951 (cselib_lookup_addr): Renamed to... 5952 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call... 5953 (cselib_log_lookup): ... this. Turn into... 5954 (cselib_lookup_addr): ... new wrapper. 5955 (cselib_lookup_from_insn): New. 5956 (cselib_invalidate_regno): Increment n_useless_debug_values for 5957 debug values. 5958 (cselib_invalidate_mem): Likewise. 5959 (cselib_process_insn): Take n_deleted and n_debug_values into 5960 account to guard remove_useless_value call. 5961 (cselib_finish): Zero n_useless_debug_values. 5962 * cselib.h (cselib_lookup_from_insn): Declare. 5963 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn. 5964 (sched_analyze_2): Likewise. 5965 59662010-03-30 Jakub Jelinek <jakub@redhat.com> 5967 5968 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New 5969 functions. 5970 (adjust_mems): Replace narrowing SUBREG of expression containing 5971 just PLUS, MINUS, MULT and ASHIFT of registers and constants 5972 with operations in the narrower mode. 5973 5974 PR debug/43593 5975 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just 5976 regs_invalidated_by_call instead all call_used_reg_set registers. 5977 59782010-03-30 Sebastian Pop <sebastian.pop@amd.com> 5979 5980 PR middle-end/43430 5981 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type 5982 pointer comparisons with types_compatible_p. 5983 * tree-vect-stmts.c (vectorizable_call): Same. 5984 (vectorizable_condition): Same. 5985 59862010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 5987 5988 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic 5989 stack check if the mask would be zero. 5990 59912010-03-30 Seongbae Park <seongbae.park@gmail.com> 5992 Jack Howarth <howarth@bromo.med.uc.edu> 5993 5994 * tree-profile.c (tree_init_ic_make_global_vars): Make static 5995 variables TLS. 5996 59972010-03-30 Joseph Myers <joseph@codesourcery.com> 5998 5999 PR other/25232 6000 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2 6001 and __unordtf2. 6002 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version. 6003 Include ___unordxf2 and ___unordtf2. 6004 * config/i386/libgcc-glibc.ver: Do not define inheritance from 6005 GCC_4.4.0 here. 6006 60072010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr> 6008 6009 * config/lm32/t-lm32: New file. 6010 * config.gcc: Use the above file when targetting lm32. 6011 60122010-03-28 Duncan Sands <baldrick@free.fr> 6013 6014 * Makefile.in (PLUGIN_HEADERS): Add except.h. 6015 60162010-03-29 Sebastian Pop <sebastian.pop@amd.com> 6017 6018 PR middle-end/43431 6019 * tree-vect-loop.c (vect_estimate_min_profitable_iters): 6020 Improve vectorization cost model diagnostic. 6021 60222010-03-29 Sebastian Pop <sebastian.pop@amd.com> 6023 6024 PR middle-end/43436 6025 * tree-vect-data-refs.c (vect_analyze_data_refs): When 6026 compute_data_dependences_for_loop returns false, early exit 6027 and output an extra diagnostic for the failed data reference 6028 analysis. 6029 60302010-03-29 Richard Guenther <rguenther@suse.de> 6031 6032 PR tree-optimization/43560 6033 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter. 6034 (can_sm_ref_p): Treat stores to readonly locations as trapping. 6035 60362010-03-29 Jie Zhang <jie@codesourcery.com> 6037 6038 PR 43564 6039 * toplev.c (process_options): Set optimization_default_node 6040 and optimization_current_node. 6041 * opts.c (decode_options): Don't set optimization_default_node 6042 and optimization_current_node. 6043 60442010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org> 6045 6046 * config/rtems.h: Abandon -qrtems_debug. 6047 60482010-03-28 Jan Hubicka <jh@suse.cz> 6049 6050 PR tree-optimization/43505 6051 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement 6052 map should not be copied. 6053 60542010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 6055 6056 PR middle-end/41674 6057 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have 6058 cdtors, set DECL_PRESERVE_P. 6059 * ipa.c (cgraph_externally_visible_p): Return true if declaration 6060 should be preseved. 6061 60622010-03-27 Uros Bizjak <ubizjak@gmail.com> 6063 6064 PR tree-optimization/43528 6065 * stor-layout.c (place_field): Check that constant fits into 6066 unsigned HWI when skipping calculation of MS bitfield layout. 6067 60682010-03-27 Jan Hubicka <jh@suse.cz> 6069 6070 PR middle-end/43391 6071 * varasm.c (make_decl_rtl): Deal with COMMON flag to make 6072 notice_global_symbol work. 6073 60742010-03-27 Jakub Jelinek <jakub@redhat.com> 6075 6076 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl 6077 instead of dwarf2out_decl. 6078 (struct var_loc_node): Remove section_label field. 6079 (dwarf2out_function_decl): New function. 6080 (dwarf2out_var_location): Don't set section_label field. 6081 (dwarf2out_begin_function): Don't empty decl_loc_table here. 6082 60832010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com> 6084 6085 PR tree-optimization/43544 6086 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): 6087 First argument for builtin vectorized function hook is now a 6088 tree to be able to distinguish between machine specific and 6089 standard builtins. 6090 * targhooks.c (default_builtin_vectorized_function): Ditto. 6091 * targhooks.h (default_builtin_vectorized_function): Ditto. 6092 * target.h (struct gcc_target): Ditto. 6093 * tree-vect-stmts.c (vectorizable_function): Ditto. 6094 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto. 6095 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): 6096 Ditto. 6097 60982010-03-26 Joseph Myers <joseph@codesourcery.com> 6099 6100 PR c/43381 6101 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a 6102 nested binding iff it is a FUNCTION_DECL. 6103 (store_parm_decls_newstyle): Pass nested=true to bind for 6104 FUNCTION_DECLs amongst parameters. 6105 61062010-03-26 Jakub Jelinek <jakub@redhat.com> 6107 6108 * var-tracking.c (vt_expand_loc_callback): Don't run 6109 cselib_expand_value_rtx_cb in dummy mode if 6110 cselib_dummy_expand_value_rtx_cb returned false. 6111 6112 * var-tracking.c (emit_note_insn_var_location): For one part 6113 notes with offset 0, don't add EXPR_LIST around the location. 6114 * dwarf2out.c (loc_descriptor, dw_loc_list_1, 6115 add_location_or_const_value_attribute): Adjust for that change. 6116 6117 PR debug/43540 6118 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum 6119 into first operand and location into second. 6120 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of 6121 dw_cfi_oprnd_loc for DW_CFA_expression. 6122 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression. 6123 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression 6124 assume first argument is regnum and second argument is location. 6125 61262010-03-26 Uros Bizjak <ubizjak@gmail.com> 6127 6128 PR target/42113 6129 * config/alpha/alpha.md (*cmp_sadd_si): Change mode 6130 of scratch register to DImode. Split to DImode comparison operator. 6131 Use SImode subreg of scratch register in the multiplication. 6132 (*cmp_sadd_sidi): Ditto. 6133 (*cmp_ssub_si): Ditto. 6134 (*cmp_ssub_sidi): Ditto. 6135 61362010-03-26 Uros Bizjak <ubizjak@gmail.com> 6137 6138 PR target/43524 6139 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]: 6140 Remove invalid assert and wrong comment. 6141 61422010-03-26 Jakub Jelinek <jakub@redhat.com> 6143 6144 PR debug/43516 6145 * flags.h (final_insns_dump_p): New extern. 6146 * final.c (final_insns_dump_p): New variable. 6147 (rest_of_clean_state): Set it before -fdump-final-insns= 6148 dumping, clear afterwards. 6149 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump 6150 MEM_ALIAS_SET on MEMs. 6151 61522010-03-26 David S. Miller <davem@davemloft.net> 6153 6154 * configure.ac: Fix sparc GOTDATA_OP bug check. 6155 * configure: Rebuild. 6156 61572010-03-26 Alan Modra <amodra@gmail.com> 6158 6159 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison. 6160 61612010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6162 6163 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP, 6164 TLS_SECTION_ASM_FLAG. 6165 61662010-03-25 Jakub Jelinek <jakub@redhat.com> 6167 6168 PR bootstrap/43511 6169 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO. 6170 Clear first_function_block_is_cold. 6171 6172 PR c/43385 6173 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect 6174 argument if the argument is truth_value_p. 6175 61762010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com> 6177 6178 * config/rs6000/constraints.md: Update copyright year for my changes. 6179 6180 PR target/43484 6181 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is 6182 used in reg+reg addressing, swap registers. 6183 61842010-03-24 Jakub Jelinek <jakub@redhat.com> 6185 6186 PR debug/43293 6187 * target.h (struct gcc_target): Add code_end hook. 6188 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void 6189 if not yet defined. 6190 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END. 6191 * toplev.c (compile_file): Call targetm.asm_out.code_end 6192 hook before unwind info/debug info output. 6193 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end. 6194 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define. 6195 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack. 6196 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define. 6197 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack. 6198 * config/i386/i386.c (ix86_file_end): Renamed to... 6199 (ix86_code_end): ... this. Make static. Don't call 6200 file_end_indicate_exec_stack. Emit unwind info using 6201 final_start_function/final_end_function. 6202 (darwin_x86_file_end): Remove. 6203 (TARGET_ASM_CODE_END): Define. 6204 * config/i386/i386.h (TARGET_ASM_FILE_END, 6205 NEED_INDICATE_EXEC_STACK): Don't define. 6206 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype. 6207 (TARGET_ASM_FILE_END): Define to darwin_file_end. 6208 * config/i386/i386-protos.h (ix86_file_end): Remove prototype. 6209 * doc/tm.texi (TARGET_ASM_CODE_END): Document. 6210 6211 PR target/43498 6212 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function 6213 at the beginning and final_end_function at the end. 6214 * config/s390/s390.c (s390_output_mi_thunk): Likewise. 6215 62162010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6217 6218 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support 6219 and Sun as TLS syntax. 6220 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define. 6221 * configure: Regenerate. 6222 * config.in: Regenerate. 6223 * varasm.c (TLS_SECTION_ASM_FLAG): Define default. 6224 (default_elf_asm_named_section): Use it. 6225 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF. 6226 (i386_output_dwarf_dtprel): Likewise. 6227 (output_addr_const_extra): Likewise. 6228 (output_pic_addr_const): Lowercase @GOTTPOFF. 6229 (output_addr_const_extra): Likewise. 6230 (output_pic_addr_const): Lowercase @GOTNTPOFF. 6231 (output_addr_const_extra): Likewise. 6232 (output_pic_addr_const): Lowercase @INDNTPOFF. 6233 (output_addr_const_extra): Likewise. 6234 (output_pic_addr_const): Lowercase @NTPOFF. 6235 (output_addr_const_extra): Likewise. 6236 (output_pic_addr_const): Lowercase @TPOFF. 6237 (output_addr_const_extra): Likewise. 6238 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD. 6239 (*tls_global_dynamic_64): Likewise. 6240 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM. 6241 (*tls_local_dynamic_base_64): Lowercase @TLSLD. 6242 6243 * defaults.h (TLS_COMMON_ASM_OP): Provide default. 6244 (ASM_OUTPUT_TLS_COMMON): Use it. 6245 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef. 6246 6247 PR target/38118 6248 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file. 6249 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ... 6250 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here. 6251 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine. 6252 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine. 6253 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine. 6254 62552010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6256 6257 * config/i386/i386.c (override_options): Don't accept 6258 -mtls-dialect=sun any longer. 6259 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0. 6260 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove. 6261 (*tls_local_dynamic_base_32_sun): Likewise. 6262 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine. 6263 62642010-03-24 Jakub Jelinek <jakub@redhat.com> 6265 6266 PR debug/43508 6267 * dwarf2out.c (mem_loc_descriptor): Don't ICE on 6268 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}. 6269 6270 PR debug/43479 6271 * ira.c (adjust_cleared_regs): New function. 6272 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs. 6273 6274 PR debug/19192 6275 PR debug/43479 6276 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK 6277 from gimple_block. 6278 * expr.c (expand_expr_real): Restore previous 6279 curr_insn_source_location and curr_insn_block after 6280 expand_expr_real_1 call. 6281 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real 6282 instead of expand_expr_real_1. 6283 62842010-03-23 Vladimir Makarov <vmakarov@redhat.com> 6285 6286 PR rtl-optimization/43413 6287 * ira-color.c (setup_allocno_available_regs_num): Count prohibited 6288 hard regs too. 6289 62902010-03-22 James E. Wilson <wilson@codesourcery.com> 6291 6292 PR target/43348 6293 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp, 6294 call_value_gp, sibcall_gp): Use 's' constraint not 'i'. 6295 62962010-03-22 H.J. Lu <hongjiu.lu@intel.com> 6297 6298 * config/i386/i386.c (ix86_target_string): Add -mfma. 6299 Fix a typo in comment. 6300 63012010-03-22 Mike Stump <mikestump@comcast.net> 6302 6303 PR target/23071 6304 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align): 6305 Don't overly align based upon packed packed fields. 6306 63072010-03-22 Jason Merrill <jason@redhat.com> 6308 6309 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]: 6310 Use () rather than [], and move before the element type. 6311 63122010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6313 6314 * doc/configfiles.texi (Configuration Files): Removed 6315 fixinc/Makefile*, intl/Makefile.*. 6316 * doc/makefile.texi: Fixed markup. Abstract from version 6317 control system used. 6318 (Makefile): Removed obsolete gcc/java/parse.y example. 6319 * doc/sourcebuild.texi: Likewise. 6320 (Top Level): Added config, gnattools, libdecnumber, libgcc, 6321 libgomp, libssp. Removed fastjar. 6322 (Miscellaneous Docs): Clarify location. 6323 Added COPYING3, COPYING3.LIB. 6324 (Front End Directory): Moved Make-lang.in entry to new subsubsection. 6325 63262010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6327 6328 PR target/38085 6329 * config/i386/i386.c (x86_function_profiler) 6330 [!NO_PROFILE_COUNTERS]: Fix typo. 6331 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call 6332 instead of callq. 6333 63342010-03-22 Janis Johnson <janis187@us.ibm.com> 6335 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6336 6337 * doc/sourcebuild.texi (Test Directives): Split into six 6338 subsections, with most of the current text in new subsections 6339 Directives, Selectors, and Final Actions. 6340 (Directives): Split list of test directives into multiple 6341 subsubsections. 6342 (Selectors): Describe use and syntax of selectors. 6343 (Effective-Target Keywords): Describe all existing keywords. 6344 (Add Options): Describe features for dg-add-options. 6345 (Require Support): Describe variants of dg-require-support. 6346 (Final Actions): Describe commands to use in dg-final. 6347 63482010-03-22 Michael Matz <matz@suse.de> 6349 6350 PR middle-end/43475 6351 * recog.c (validate_replace_rtx_group): Replace also in 6352 REG_EQUAL and REG_EQUIV notes. 6353 63542010-03-22 Richard Guenther <rguenther@suse.de> 6355 6356 PR tree-optimization/43390 6357 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make 6358 sure vector extracts are type correct. 6359 63602010-03-22 Richard Guenther <rguenther@suse.de> 6361 6362 PR middle-end/40106 6363 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as 6364 x * sqrt (x) even when optimizing for size if the target 6365 has native support for sqrt. 6366 63672010-03-22 Jakub Jelinek <jakub@redhat.com> 6368 6369 * varasm.c (make_decl_rtl_for_debug): Also clear 6370 flag_mudflap for the duration of make_decl_rtl call. 6371 6372 PR debug/43443 6373 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS 6374 locs from preserved VALUEs. 6375 63762010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 6377 6378 PR middle-end/42718 6379 * pa.md (movmemsi): Set align to one if zero. 6380 (movmemdi): Likewise. 6381 63822010-03-21 Richard Earnshaw <rearnsha@arm.com> 6383 6384 PR target/42321 6385 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions 6386 with their corresponding prologue pushes. 6387 63882010-03-20 Andrew Pinski <pinskia@gmail.com> 6389 6390 PR target/43156 6391 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED 6392 at the begining or end. 6393 (spu_expand_epilogue): Likewise. 6394 63952010-03-20 Richard Guenther <rguenther@suse.de> 6396 6397 PR rtl-optimization/43438 6398 * combine.c (make_extraction): Properly zero-/sign-extend an 6399 extraction of the low part of a CONST_INT. Also handle 6400 CONST_DOUBLE. 6401 64022010-03-19 Mike Stump <mikestump@comcast.net> 6403 6404 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add. 6405 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add. 6406 (override_options): Use SUBTARGET32_DEFAULT_CPU. 6407 64082010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com> 6409 6410 PR c/43211 6411 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was 6412 an error. 6413 64142010-03-19 Bernd Schmidt <bernd.schmidt@codesourcery.com> 6415 6416 PR rtl-optimization/42258 6417 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a 6418 use that may match DEF. 6419 6420 PR target/40697 6421 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out 6422 the cost of loading the constant rather than assuming 6423 COSTS_N_INSNS (1). 6424 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the 6425 outer code is AND, do the same tests as the andsi3 expander and 6426 return COSTS_N_INSNS (1) if and is cheap. 6427 6428 * optabs.c (avoid_expensive_constant): Fix formatting. 6429 64302010-03-19 Michael Matz <matz@suse.de> 6431 6432 PR c++/43116 6433 * attribs.c (decl_attributes): When rebuilding a function pointer 6434 type use the same qualifiers as the original pointer type. 6435 64362010-03-19 Martin Jambor <mjambor@suse.cz> 6437 6438 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant 6439 and is_gimple_ip_invariant_address. 6440 64412010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 6442 6443 Revert 6444 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 6445 6446 * config/arm/arm.c (arm_override_options): Turn off 6447 flag_dwarf2_cfi_asm for AAPCS variants. 6448 64492010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 6450 6451 PR target/43399 6452 * config/arm/arm.c (emit_multi_reg_push): Update comments. 6453 Use PRE_MODIFY instead of PRE_DEC. 6454 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC. 6455 (vfp_emit_fstmd): Likewise. 6456 64572010-03-19 Michael Matz <matz@suse.de> 6458 6459 PR target/43305 6460 * builtins.c (expand_builtin_interclass_mathfn, 6461 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls 6462 if that fails. 6463 64642010-03-19 Richard Guenther <rguenther@suse.de> 6465 6466 PR tree-optimization/43415 6467 * tree-ssa-pre.c (phi_translate): Split out worker to ... 6468 (phi_translate_1): ... this. 6469 (phi_translate): Move all caching here. Cache all NARY 6470 and REFERENCE translations. 6471 64722010-03-19 David S. Miller <davem@davemloft.net> 6473 6474 With help from Eric Botcazou. 6475 * config/sparc/sparc.c: Include dwarf2out.h. 6476 (emit_pic_helper): Delete. 6477 (pic_helper_symbol_name): Delete. 6478 (pic_helper_emitted_p): Delete. 6479 (pic_helper_needed): New. 6480 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'. 6481 (get_pc_thunk_name): New. 6482 (load_pic_register): Remove 'delay_pic_helper' arg. Use 6483 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol. 6484 Set pic_helper_needed to true. Don't call emit_pic_helper. 6485 (sparc_expand_prologue): Update load_pic_register call. 6486 (sparc_output_mi_thunk): Likewise. 6487 (sparc_file_end): Emit a hidden comdat symbol for the PIC 6488 thunk if possible. Output CFI information as needed. 6489 64902010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 6491 Jack Howarth <howarth@bromo.med.uc.edu> 6492 6493 PR target/36399 6494 * config/i386/i386.h: Fix ABI on darwin x86-32. 6495 64962010-03-18 Aldy Hernandez <aldyh@redhat.com> 6497 6498 * tree.h: Declare make_decl_rtl_for_debug. 6499 * varasm.c (make_decl_rtl_for_debug): New. 6500 * dwarf2out.c (rtl_for_decl_location): Call it. 6501 * cfgexpand.c (expand_debug_expr): Call it. 6502 65032010-03-18 Jakub Jelinek <jakub@redhat.com> 6504 6505 PR bootstrap/43399 6506 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode 6507 mem_mode. 6508 6509 PR bootstrap/43403 6510 * var-tracking.c (vt_init_cfa_base): Do nothing if 6511 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register. 6512 65132010-03-18 Alexandre Oliva <aoliva@redhat.com> 6514 6515 PR debug/42873 6516 * var-tracking.c (canonicalize_vars_star): New. 6517 (dataflow_post_merge_adjust): Use it. 6518 65192010-03-18 Jakub Jelinek <jakub@redhat.com> 6520 6521 PR debug/43058 6522 * var-tracking.c (non_suitable_const): New function. 6523 (add_uses): For DEBUG_INSNs with constants, don't record any 6524 value, instead just the constant value itself. 6525 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC 6526 is not VAR_LOC_UNKNOWN_P, set var to the constant. 6527 (emit_notes_in_bb): Likewise. 6528 (emit_note_insn_var_location): For onepart variables if 6529 cur_loc is a VOIDmode constant, use DECL_MODE. 6530 65312010-03-18 Martin Jambor <mjambor@suse.cz> 6532 6533 PR middle-end/42450 6534 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare. 6535 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in 6536 all non-clones. Moved call redirection... 6537 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function. 6538 (cgraph_materialize_all_clones): Dispose of all 6539 combined_args_to_skip bitmaps. 6540 (verify_cgraph_node): Do not check for edges pointing to wrong 6541 nodes in inline clones. 6542 * tree-inline.c (copy_bb): Call 6543 cgraph_redirect_edge_call_stmt_to_callee. 6544 * ipa.c (cgraph_remove_unreachable_nodes): Call 6545 cgraph_node_remove_callees even when there are used clones. 6546 65472010-03-18 H.J. Lu <hongjiu.lu@intel.com> 6548 6549 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0. 6550 65512010-03-18 H.J. Lu <hongjiu.lu@intel.com> 6552 6553 PR target/43383 6554 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0 6555 for 32bit. 6556 65572010-03-18 Michael Matz <matz@suse.de> 6558 6559 PR middle-end/43419 6560 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5) 6561 into sqrt(x) if we need to preserve signed zeros. 6562 65632010-03-18 Steven Bosscher <steven@gcc.gnu.org> 6564 Eric Botcazou <ebotcazou@adacore.com> 6565 6566 PR rtl-optimization/43360 6567 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL 6568 note if we don't know its invariant status. 6569 65702010-03-18 Michael Matz <matz@suse.de> 6571 6572 PR tree-optimization/43402 6573 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow 6574 PHI chains of ssa names registered for update. 6575 65762010-03-17 Peter Bergner <bergner@vnet.ibm.com> 6577 6578 PR target/42427 6579 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for 6580 non-offsettable and pre_modify update addressing. 6581 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1" 6582 and "2" alternatives "#". 6583 (*movdd_softfloat32): Make all alternatives "#"; 6584 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator. 6585 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#". 6586 (*movdf_softfloat32): Make all alternatives "#"; 6587 (movdi): Use the new DIFD mode iterator to create a common splitter 6588 for movdi, movdf and movdd patterns. 6589 65902010-03-18 Shujing Zhao <pearly.zhao@oracle.com> 6591 6592 * common.opt (dumpdir): Remove redundant tab. 6593 65942010-03-17 Martin Jambor <mjambor@suse.cz> 6595 6596 PR tree-optimization/43347 6597 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the 6598 original base is DECL_ARTIFICIAL or DECL_IGNORED_P. 6599 66002010-03-17 Bernd Schmidt <bernd.schmidt@analog.com> 6601 6602 PR rtl-optimization/42216 6603 * regrename.c (create_new_chain): New function, broken out from... 6604 (scan_rtx_reg): ... here. Call it. Handle the case where we are 6605 appending a use to an empty chain. 6606 (build_def_use): Remove previous changes that convert OP_INOUT to 6607 OP_OUT operands; instead detect the case where an OP_INOUT operand 6608 uses a previously untracked register and create an empty chain for it. 6609 66102010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 6611 6612 * doc/extend.texi (Function Attributes): Rewrite unfinished 6613 sentence in ms_abi documentation. 6614 66152010-03-17 Alan Modra <amodra@gmail.com> 6616 6617 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var. 6618 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define. 6619 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL. 6620 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define. 6621 66222010-03-16 Richard Henderson <rth@redhat.com> 6623 6624 PR middle-end/43365 6625 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq. 6626 (lower_try_finally): Save and restore eh_seq around the expansion 6627 of the try-finally. 6628 66292010-03-16 Aldy Hernandez <aldyh@redhat.com> 6630 6631 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug 6632 statements before splitting block. 6633 66342010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6635 6636 * doc/sourcebuild.texi (Testsuites): Fix markup. 6637 Use pathnames relative to gcc/testsuite. 6638 (Test Directives): Move description of how timeout is determined. 6639 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc. 6640 (C Tests): Correct gcc.misc-tests directory. 6641 Framework tests now live in gcc.test-framework. 6642 66432010-03-16 Richard Guenther <rguenther@suse.de> 6644 6645 PR middle-end/43379 6646 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI 6647 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly. 6648 66492010-03-16 Aldy Hernandez <aldyh@redhat.com> 6650 Alexandre Oliva <aoliva@redhat.com> 6651 6652 PR tree-optimization/42917 6653 * lambda-code.c (remove_iv): Skip debug statements. 6654 (lambda_loopnest_to_gcc_loopnest): Likewise. 6655 (not_interesting_stmt): Debug statements are not interesting. 6656 66572010-03-16 Jakub Jelinek <jakub@redhat.com> 6658 6659 PR debug/43051 6660 PR debug/43092 6661 * cselib.c (cselib_preserve_constants, 6662 cfa_base_preserved_val): New static variables. 6663 (preserve_only_constants): New function. 6664 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't 6665 clear its REG_VALUES. If cselib_preserve_constants, don't 6666 empty the whole hash table, but preserve there VALUEs with constants, 6667 cfa_base_preserved_val and cfa_base_preserved_val plus constant. 6668 (cselib_preserve_cfa_base_value): New function. 6669 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val. 6670 (cselib_init): Change argument to int bitfield. Set 6671 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS 6672 is in it. 6673 (cselib_finish): Clear cselib_preserve_constants and 6674 cfa_base_preserved_val. 6675 * cselib.h (enum cselib_record_what): New enum. 6676 (cselib_init): Change argument to int. 6677 (cselib_preserve_cfa_base_value): New prototype. 6678 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller. 6679 * dse.c (dse_step1): Likewise. 6680 * cfgcleanup.c (thread_jump): Likewise. 6681 * sched-deps.c (sched_analyze): Likewise. 6682 * gcse.c (local_cprop_pass): Likewise. 6683 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback. 6684 If FN is non-NULL, call the callback always and whenever it returns 6685 non-NULL just return that. Only do rtx_equal_p if FN is NULL. 6686 * rtl.h (simplify_replace_fn_rtx): Add argument to callback. 6687 * combine.c (propagate_for_debug_subst): Add old_rtx argument, 6688 compare from with old_rtx and if it isn't rtx_equal_p, return NULL. 6689 * Makefile.in (var-tracking.o): Depend on $(RECOG_H). 6690 * var-tracking.c: Include recog.h. 6691 (bb_stack_adjust_offset): Remove. 6692 (vt_stack_adjustments): Don't call it, instead just gather the 6693 adjustments using insn_stack_adjust_offset_pre_post on each bb insn. 6694 (adjust_stack_reference): Remove. 6695 (compute_cfa_pointer): New function. 6696 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables. 6697 (struct adjust_mem_data): New type. 6698 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New 6699 functions. 6700 (get_address_mode): New function. 6701 (replace_expr_with_values): Use it. 6702 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P. 6703 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER. 6704 (adjust_sets): Remove. 6705 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant. 6706 Use get_address_mode. 6707 (get_adjusted_src): Remove. 6708 (add_stores): Don't call it. Never reuse expr SET. Don't add extra 6709 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode. 6710 (add_with_sets): Don't call adjust_sets. 6711 (fp_setter, vt_init_cfa_base): New functions. 6712 (vt_initialize): Change return type to bool. Move most of pool etc. 6713 initialization to the beginning of the function from end. Pass 6714 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init. 6715 If !frame_pointer_needed, call vt_stack_adjustment before mos 6716 vector is filled, call vt_init_cfa_base if argp/framep has been 6717 eliminated to sp. If frame_pointer_needed and argp/framep has 6718 been eliminated to hard frame pointer, set 6719 hard_frame_pointer_adjustment and call vt_init_cfa_base after 6720 encountering fp setter in the prologue. For MO_ADJUST, call 6721 log_op_type before pusing the op into mos vector, not afterwards. 6722 Call adjust_insn before cselib_process_insn/add_with_sets, 6723 call cancel_changes (0) afterwards. 6724 (variable_tracking_main_1): Adjust for vt_initialize calling 6725 vt_stack_adjustments and returning whether it succeeded or not. 6726 67272010-03-15 Aldy Hernandez <aldyh@redhat.com> 6728 6729 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip 6730 debug statements. 6731 67322010-03-15 Jakub Jelinek <jakub@redhat.com> 6733 6734 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg 6735 has been set. 6736 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when 6737 drap_reg has not been set. 6738 67392010-03-15 Michael Matz <matz@suse.de> 6740 6741 PR middle-end/43300 6742 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp, 6743 use it to expand block copies. 6744 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge, 6745 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy. 6746 (insert_value_copy_on_edge): Use store_expr for BLKmode values. 6747 67482010-03-15 Richard Guenther <rguenther@suse.de> 6749 6750 PR tree-optimization/43367 6751 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI 6752 elimination check. 6753 67542010-03-15 Richard Guenther <rguenther@suse.de> 6755 6756 PR tree-optimization/43317 6757 * ipa-struct-reorg.c (create_new_general_access): Update stmt. 6758 67592010-03-15 Martin Jambor <mjambor@suse.cz> 6760 6761 PR tree-optimization/43141 6762 * tree-sra.c (create_abstract_origin): New function. 6763 (modify_function): Call create_abstract_origin. 6764 67652010-03-15 Chris Demetriou <cgd@google.com> 6766 6767 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it 6768 wasn't copied. 6769 67702010-03-13 Sebastian Pop <sebastian.pop@amd.com> 6771 6772 PR middle-end/43354 6773 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not 6774 call insert_out_of_ssa_copy for default definitions. 6775 67762010-03-13 Sebastian Pop <sebastian.pop@amd.com> 6777 6778 * graphite-clast-to-gimple.c (my_long_long): Defined. 6779 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node. 6780 * graphite-sese-to-poly.c (my_long_long): Defined. 6781 (scop_ivs_can_be_represented): Use it. 6782 67832010-03-13 Sebastian Pop <sebastian.pop@amd.com> 6784 6785 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params, 6786 graphite-max-bbs-per-function, and loop-block-tile-size. 6787 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal" 6788 with "maximum". 6789 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same. 6790 67912010-03-13 Sebastian Pop <sebastian.pop@amd.com> 6792 6793 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove 6794 forward declaration. 6795 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment. 6796 (add_upper_bounds_from_estimated_nit): New. 6797 (build_loop_iteration_domains): Use it. 6798 67992010-03-13 Sebastian Pop <sebastian.pop@amd.com> 6800 6801 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document. 6802 68032010-03-13 Sebastian Pop <sebastian.pop@amd.com> 6804 6805 PR middle-end/43306 6806 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT 6807 should be an INTEGER_CST. Also handle CASE_CONVERT. 6808 68092010-03-13 Sebastian Pop <sebastian.pop@amd.com> 6810 6811 * graphite.c (graphite_initialize): To bound the number of bbs per 6812 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION. 6813 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared. 6814 * doc/invoke.texi: Document it. 6815 68162010-03-13 Sebastian Pop <sebastian.pop@amd.com> 6817 6818 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool. 6819 * graphite-sese-to-poly.h (build_poly_scop): Same. 6820 68212010-03-13 Sebastian Pop <sebastian.pop@amd.com> 6822 6823 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following 6824 the number of parameters in the scop. Use as an upper bound 6825 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS. 6826 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared. 6827 * doc/invoke.texi: Document it. 6828 68292010-03-13 Jerry Quinn <jlquinn@optonline.net> 6830 6831 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi. 6832 * doc/c-tree.texi: Remove. 6833 * doc/generic.texi: Merge c-tree.texi here. 6834 * doc/gccint.texi (Trees): Remove menu entry. 6835 (c-tree.texi): Remove @include. 6836 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC. 6837 * doc/languages.texi (Reading RTL): Ditto. 6838 68392010-03-12 Steve Ellcey <sje@cup.hp.com> 6840 6841 PR target/42869 6842 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence. 6843 68442010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com> 6845 6846 PR middle-end/42431 6847 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid 6848 code added to work around reload clobbering CONST insns. 6849 68502010-03-12 Jakub Jelinek <jakub@redhat.com> 6851 6852 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove. 6853 (cselib_preserve_definitely, cselib_clear_preserve): Remove. 6854 (cselib_preserve_only_values): Remove retain argument, don't 6855 traverse hash table with cselib_{preserve_definitely,clear_preserve}. 6856 * cselib.h (cselib_preserve_only_values): Remove retain argument. 6857 * var-tracking.c (micro_operation): Move insn field before union. 6858 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type. 6859 (struct variable_tracking_info_def): Remove n_mos field, change 6860 mos into a vector of micro_operations. 6861 (count_uses, count_uses_1, count_stores, count_with_sets): Remove. 6862 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores, 6863 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos 6864 changing into a vector. 6865 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores 6866 come before all other uops generated by add_stores. 6867 (vt_add_function_parameters): Adjust for cselib_preserve_only_values 6868 argument removal. 6869 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into 6870 a vector. Run just one pass over the bbs instead of separate counting 6871 and computation phase. 6872 (vt_finalize): Free VTI (bb)->mos vector instead of array. 6873 6874 PR debug/43329 6875 * tree-inline.c (remap_decls): Put old_var rather than origin_var 6876 into *nonlocalized_list vector. 6877 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin 6878 even if origin is non-NULL. 6879 (gen_variable_die): Likewise. 6880 (process_scope_var): Don't change origin. 6881 (gen_decl_die): Likewise. 6882 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p 6883 before adding new edges instead of after it, fix moving over 6884 debug stmts. 6885 68862010-03-11 David S. Miller <davem@davemloft.net> 6887 6888 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple 6889 of four. 6890 * configure: Rebuild. 6891 68922010-03-11 Martin Jambor <mjambor@suse.cz> 6893 6894 PR tree-optimization/43257 6895 * tree.c (assign_assembler_name_if_neeeded): New function. 6896 (free_lang_data_in_cgraph): Assembler name assignment moved to the 6897 above new function. 6898 * tree.h (assign_assembler_name_if_neeeded): Declare. 6899 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for 6900 the function if needed. 6901 69022010-03-11 Chris Demetriou <cgd@google.com> 6903 6904 * Makefile.in (stmp-int-hdrs): Make include/unwind.h, 6905 include/stdint-gcc.h, and include/stdint.h world-readable. 6906 69072010-03-11 Richard Guenther <rguenther@suse.de> 6908 6909 PR tree-optimization/43255 6910 * tree-vrp.c (process_assert_insertions_for): Do not insert 6911 asserts for trivial conditions. 6912 69132010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 6914 6915 PR tree-optimization/43280 6916 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number 6917 generation. Move calculation of size out of the if branch. 6918 (find_bswap): Modify compare number generation. 6919 69202010-03-11 Richard Guenther <rguenther@suse.de> 6921 6922 PR lto/43200 6923 * lto-streamer-in.c (maybe_fixup_decls): Simplify. 6924 (input_gimple_stmt): Fixup handled component types during 6925 operand read. Also fix up decls in ADDR_EXPRs. 6926 69272010-03-10 Eric Botcazou <ebotcazou@adacore.com> 6928 6929 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32. 6930 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus. 6931 69322010-03-10 Jan Hubicka <jh@suse.cz> 6933 6934 PR c/43288 6935 * ipa.c (function_and_variable_visibility) Normalize COMMON bits. 6936 * varasm.c (get_variable_section): Don't do that here... 6937 (make_decl_rtl): ... and here. 6938 (do_assemble_alias): Produce decl RTL. 6939 (assemble_alias): Likewise. 6940 69412010-03-10 Jakub Jelinek <jakub@redhat.com> 6942 6943 PR debug/43290 6944 * reg-notes.def (REG_CFA_SET_VDRAP): New note. 6945 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting 6946 of fde->vdrap_reg. 6947 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note. 6948 (based_loc_descr): Only express drap or vdrap regno based expressions 6949 using DW_OP_fbreg when not optimizing. 6950 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing, 6951 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add 6952 REG_CFA_SET_VDRAP note. 6953 69542010-03-10 Alexander Monakov <amonakov@ispras.ru> 6955 6956 PR tree-optimization/43236 6957 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one 6958 error in calculation of base address in reverse iteration case. 6959 (generate_builtin): Take number of latch executions if the statement 6960 is in the latch. 6961 69622010-03-10 Andrey Belevantsev <abel@ispras.ru> 6963 6964 PR middle-end/42859 6965 * tree-eh.c: Include pointer-set.h. 6966 (lower_eh_dispatch): Filter out duplicate case labels and 6967 remove the unneeded edge when the label is unused. Return 6968 true when some edges are removed. 6969 (execute_lower_eh_dispatch): When any lowering resulted in 6970 removing an edge, also delete unreachable blocks. 6971 69722010-03-10 Jakub Jelinek <jakub@redhat.com> 6973 6974 PR bootstrap/43287 6975 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle 6976 UNSPEC_MACHOPIC_OFFSET. 6977 69782010-03-09 Andreas Schwab <schwab@linux-m68k.org> 6979 6980 PR target/43294 6981 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define. 6982 (m68k_delegitimize_address): New function. 6983 69842010-03-09 Jakub Jelinek <jakub@redhat.com> 6985 6986 PR debug/43299 6987 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs. 6988 6989 PR debug/43299 6990 * var-tracking.c (adjust_sets): New function. 6991 (count_with_sets, add_with_sets): Use it. 6992 (get_adjusted_src): New inline function. 6993 (add_stores): Use it. 6994 6995 PR debug/43304 6996 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy, 6997 call cselib_dummy_expand_value_rtx_cb instead of 6998 cselib_expand_value_rtx_cb. 6999 7000 PR debug/43293 7001 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h. 7002 * config/i386/i386.c: Include debug.h and dwarf2out.h. 7003 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc 7004 and .cfi_endproc around the pic thunks. 7005 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure 7006 all queued unwind info register saves are saved before the call. 7007 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is 7008 considered as sp-=4 for unwind info and the pop as sp+=4 which 7009 also clobbers dest, but doesn't actually restore it. 7010 7011 PR debug/43290 7012 * config/i386/i386.c (ix86_get_drap_rtx): Don't set 7013 RTX_FRAME_RELATED_P. 7014 70152010-03-09 Jie Zhang <jie@codesourcery.com> 7016 7017 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing 7018 whitespaces in output template. 7019 70202010-03-09 Jie Zhang <jie@codesourcery.com> 7021 7022 * ira-lives.c (check_and_make_def_use_conflict): Don't fall 7023 out array boundary. 7024 70252010-03-08 Jakub Jelinek <jakub@redhat.com> 7026 7027 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and 7028 builtins.exp in a separate job. 7029 70302010-03-08 Sebastian Pop <sebastian.pop@amd.com> 7031 7032 * graphite-sese-to-poly.c (add_param_constraints): Use 7033 lower_bound_in_type and upper_bound_in_type. 7034 70352010-03-08 Sebastian Pop <sebastian.pop@amd.com> 7036 7037 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype 7038 instead of unsigned_type_node. 7039 70402010-03-08 Sebastian Pop <sebastian.pop@amd.com> 7041 Reza Yazdani <reza.yazdani@amd.com> 7042 7043 PR middle-end/43065 7044 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds 7045 on pointer type parameters. 7046 70472010-03-08 Tobias Grosser <grosser@fim.uni-passau.de> 7048 7049 PR middle-end/42644 7050 PR middle-end/42130 7051 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also 7052 handle conversions from pointer to integers. 7053 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an 7054 induction variable, to be able to work with code generated by CLooG. 7055 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New. 7056 (build_poly_scop): Bail out if we cannot codegen a loop. 7057 70582010-03-08 Tobias Grosser <grosser@fim.uni-passau.de> 7059 7060 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut 7061 code generation with gloog_error. 7062 70632010-03-08 Sebastian Pop <sebastian.pop@amd.com> 7064 7065 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type. 7066 Call fold_convert on all the returned values. 7067 (expand_scalar_variables_expr): Pass to 7068 expand_scalar_variables_ssa_name the type of the resulting expression. 7069 70702010-03-08 Sebastian Pop <sebastian.pop@amd.com> 7071 7072 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed 7073 ppl_min_for_le_pointset. 7074 Use ppl_Pointset_Powerset_C_Polyhedron_minimize. 7075 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration. 7076 70772010-03-08 Sebastian Pop <sebastian.pop@amd.com> 7078 7079 * graphite-dependences.c (map_into_dep_poly): Removed. 7080 (dependence_polyhedron_1): Use combine_context_id_scat. 7081 70822010-03-08 Sebastian Pop <sebastian.pop@amd.com> 7083 7084 * graphite-poly.h (struct poly_scattering): Add layout documentation. 7085 (struct poly_bb): Same. 7086 (combine_context_id_scat): New. 7087 70882010-03-08 Sebastian Pop <sebastian.pop@amd.com> 7089 7090 PR middle-end/42326 7091 * sese.c (name_defined_in_loop_p): Return false for default 7092 definitions. 7093 70942010-03-08 Sebastian Pop <sebastian.pop@amd.com> 7095 7096 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify 7097 and clean up the logic. 7098 70992010-03-08 Sebastian Pop <sebastian.pop@amd.com> 7100 7101 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove 7102 early return. 7103 71042010-03-08 Jakub Jelinek <jakub@redhat.com> 7105 7106 * var-tracking.c (remove_cselib_value_chains): Define only for 7107 ENABLE_CHECKING. 7108 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs, 7109 delete_slot_part, emit_notes_for_differences_1): Don't call 7110 remove_cselib_value_chains here. 7111 (set_slot_part, emit_notes_for_differences_2): Don't call 7112 add_cselib_value_chains here. 7113 (preserved_values): New vector. 7114 (preserve_value): New function. 7115 (add_uses, add_stores, vt_add_function_parameters): Use it 7116 instead of cselib_preserve_value. 7117 (changed_values_stack): New vector. 7118 (check_changed_vars_0): New function. 7119 (check_changed_vars_1, check_changed_vars_2): Use it. 7120 (emit_notes_for_changes): Call set_dv_changed (*, false) on all 7121 changed_values_stack VALUEs. 7122 (vt_emit_notes): For all preserved_values call 7123 add_cselib_value_chains. If ENABLE_CHECKING call 7124 remove_cselib_value_chains before verifying value_chains is empty. 7125 Initialize and free changed_values_stack. 7126 (vt_initialize): Initialize preserved_values. 7127 (vt_finalize): Free preserved_values. 7128 71292010-03-08 Richard Guenther <rguenther@suse.de> 7130 7131 PR tree-optimization/43269 7132 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom 7133 region detection. 7134 71352010-03-08 Martin Jambor <mjambor@suse.cz> 7136 7137 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field. 7138 (ipa_is_param_called): Removed. 7139 * ipa-prop.c (ipa_note_param_call): Do not set the called flag. 7140 (ipa_print_node_params): Do not print the called flag. 7141 (ipa_write_node_info): Do not stream the called flag. 7142 (ipa_read_node_info): Likewise. 7143 71442010-03-07 Jakub Jelinek <jakub@redhat.com> 7145 7146 PR debug/43176 7147 * Makefile.in (var-tracking.o): Depend on pointer-set.h. 7148 * cselib.c (struct expand_value_data): Add dummy field. 7149 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize 7150 dummy to false. 7151 (cselib_dummy_expand_value_rtx_cb): New function. 7152 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate 7153 any rtl. 7154 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype. 7155 * var-tracking.c: Include pointer-set.h. 7156 (variable): Change n_var_parts to char from int. Add 7157 cur_loc_changed and in_changed_variables fields. 7158 (variable_canonicalize): Remove. 7159 (shared_var_p): New inline function. 7160 (unshare_variable): Maintain cur_loc_changed and 7161 in_changed_variables fields. If var was in changed_variables, 7162 replace it there with new_var. Just copy cur_loc instead of 7163 resetting it to something else. 7164 (variable_union): Don't recompute cur_loc. Use shared_var_p. 7165 (dataflow_set_union): Don't call variable_canonicalize. 7166 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids 7167 of their DEBUG_EXPR_TREE_DECLs. 7168 (canonicalize_loc_order_check): Verify that cur_loc is NULL 7169 and in_changed_variables and cur_loc_changed is false. 7170 (variable_merge_over_cur): Clear cur_loc, in_changed_variables 7171 and cur_loc_changed. Don't update cur_loc here. 7172 (variable_merge_over_src): Don't call variable_canonicalize. 7173 (dataflow_set_preserve_mem_locs): Use shared_var_p. When 7174 removing loc that is equal to cur_loc, clear cur_loc, 7175 set cur_loc_changed and ensure variable_was_changed is called. 7176 (dataflow_set_remove_mem_locs): Use shared_var_p. Only 7177 compare pointers in cur_loc check, if it is equal to loc, 7178 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here. 7179 (variable_different_p): Remove compare_current_location argument, 7180 don't compare cur_loc. 7181 (dataflow_set_different_1): Adjust variable_different_p caller. 7182 (variable_was_changed): If dv had some var in changed_variables 7183 already, reset in_changed_variables flag for it and propagate 7184 cur_loc_changed over to the new variable. On empty var 7185 always set cur_loc_changed. Set in_changed_variables on whatever 7186 var is added to changed_variables. 7187 (set_slot_part): Clear cur_loc_changed and in_changed_variables. 7188 Use shared_var_p. When removing loc that is equal to cur_loc, 7189 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the 7190 end, don't set it to something else, just call variable_was_changed. 7191 (delete_slot_part): Use shared_var_p. When cur_loc equals to 7192 loc being removed, clear cur_loc and set cur_loc_changed. 7193 Set cur_loc_changed if all locations have been removed. 7194 (struct expand_loc_callback_data): New type. 7195 (vt_expand_loc_callback): Add dummy mode in which no rtxes are 7196 allocated. Always create SUBREGs if simplify_subreg failed. 7197 Prefer to use cur_loc, when that fails and still in 7198 changed_variables (and seen first time) recompute it. Set 7199 cur_loc_changed of variables which had to change cur_loc and 7200 compute elcd->cur_loc_changed if any of the subexpressions used 7201 had to change cur_loc. 7202 (vt_expand_loc): Adjust to pass arguments in 7203 expand_loc_callback_data structure. 7204 (vt_expand_loc_dummy): New function. 7205 (emitted_notes): New variable. 7206 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs 7207 that weren't used for any other decl in current 7208 emit_notes_for_changes call call vt_expand_loc_dummy to update 7209 cur_loc. For -fno-var-tracking-assignments, set cur_loc to 7210 first loc_chain location if NULL before. Always use just 7211 cur_loc instead of first loc_chain location. When cur_loc_changed 7212 is false, when not --enable-checking=rtl just don't emit any note. 7213 When rtl checking, compute the note and assert it is the same 7214 as previous note. Clear cur_loc_changed and in_changed_variables 7215 at the end before removing from changed_variables. 7216 (check_changed_vars_3): New function. 7217 (emit_notes_for_changes): Traverse changed_vars to call 7218 check_changed_vars_3 on each changed var. 7219 (emit_notes_for_differences_1): Clear cur_loc_changed and 7220 in_changed_variables. Recompute cur_loc of new_var. 7221 (emit_notes_for_differences_2): Clear cur_loc if new variable appears. 7222 (vt_emit_notes): Initialize and destroy emitted_notes. 7223 72242010-03-07 Bernd Schmidt <bernd.schmidt@analog.com> 7225 7226 PR rtl-optimization/42220 7227 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>: 7228 Use verify_reg_tracked to determine if we should use OP_OUT rather 7229 than OP_INOUT. 7230 (build_def_use): If we see an in-out operand for a register that we 7231 know nothing about, treat is an output if possible, fail the block if 7232 not. 7233 72342010-03-06 Alexandre Oliva <aoliva@redhat.com> 7235 7236 PR debug/42897 7237 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed 7238 permanently. 7239 72402010-03-06 Alexandre Oliva <aoliva@redhat.com> 7241 7242 PR debug/42897 7243 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug 7244 uses of relevant DEFs that are dead outside the loop too. 7245 72462010-03-06 Alexandre Oliva <aoliva@redhat.com> 7247 7248 * var-tracking.c (dataflow_set_merge): Swap src and src2. 7249 Reverted: 7250 2010-01-13 Jakub Jelinek <jakub@redhat.com> 7251 PR debug/41371 7252 * var-tracking.c (values_to_unmark): New variable. 7253 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in 7254 values_to_unmark vector. Moved body to... 7255 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO, 7256 instead queue it into values_to_unmark vector. 7257 (vt_find_locations): Free values_to_unmark vector. 7258 72592010-03-05 Eric Botcazou <ebotcazou@adacore.com> 7260 7261 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables. 7262 (site.exp): Export them when plugins are enabled. 7263 72642010-03-05 Sebastian Pop <sebastian.pop@amd.com> 7265 7266 PR middle-end/42326 7267 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions 7268 that contain scevs. 7269 (chrec_fold_multiply): Same. 7270 72712010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com> 7272 7273 PR c/43248 7274 * c-decl.c (build_compound_literal): Return early if init is 7275 an error_mark_node. 7276 72772010-03-04 Martin Jambor <mjambor@suse.cz> 7278 7279 PR tree-optimization/43164 7280 PR tree-optimization/43191 7281 * tree-sra.c (type_consists_of_records_p): Reject records with 7282 zero-size bit-fields at the end. 7283 72842010-03-04 Mike Stump <mikestump@comcast.net> 7285 7286 * Makefile.in (TAGS): Remove *.y. 7287 72882010-03-04 Richard Guenther <rguenther@suse.de> 7289 7290 PR tree-optimization/40761 7291 * tree-ssa-pre.c (compute_antic): Walk reverse postorder 7292 in reverse order. 7293 (my_rev_post_order_compute): New function. 7294 (init_pre): Call it. 7295 72962010-03-04 Changpeng Fang <changpeng.fang@amd.com> 7297 7298 PR middle-end/43209 7299 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not 7300 decrease the cost of an IV candidate when the cost is infinite. 7301 73022010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 7303 7304 * doc/extend.texi (Vector Extensions, X86 Built-in Functions): 7305 Use '3DNow!' for the extension of that name, ensure normal space 7306 after the string. 7307 * doc/invoke.texi (i386 and x86-64 Options): Likewise. 7308 73092010-03-03 Jeff Law <law@redhat.com> 7310 7311 * PR middle-end/32693 7312 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather 7313 than gen_rtx_SUBREG. 7314 (extract_bit_field_1): Likewise. 7315 73162010-03-03 Janis Johnson <janis187@us.ibm.com> 7317 7318 * doc/sourcebuild.texi (Test directives): Document that arguments 7319 include-opts and exclude-opts are now optional for dg-skip-if, 7320 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail. 7321 73222010-03-03 Jason Merrill <jason@redhat.com> 7323 7324 PR c++/12909 7325 * cgraph.h (varpool_node): Add extra_name field. 7326 * varpool.c (varpool_extra_name_alias): New. 7327 (varpool_assemble_decl): Emit extra name aliases. 7328 (varpool_mark_needed_node): Look past an extra name alias. 7329 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias. 7330 * lto-streamer-in.c (lto_input_tree): Read it. 7331 * lto-streamer-out.c (output_unreferenced_globals): Write it. 7332 73332010-03-03 Eric Botcazou <ebotcazou@adacore.com> 7334 7335 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into... 7336 (sparc*-*-solaris2*): ...this. 7337 73382010-03-03 Jakub Jelinek <jakub@redhat.com> 7339 7340 PR debug/43229 7341 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR, 7342 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without 7343 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR, 7344 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR. 7345 7346 PR debug/43237 7347 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die, 7348 fallthrough to default handling, just with want_address 0 instead of 2. 7349 For single element lists, add_AT_loc directly, otherwise create an 7350 artificial variable DIE and stick location list to it. 7351 7352 PR debug/43177 7353 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode. 7354 (VAL_EXPR_HAS_REVERSE): Define. 7355 (reverse_op): New function. 7356 (add_stores): For reversible operations add an extra MO_VAL_USE. 7357 73582010-03-02 Jason Merrill <jason@redhat.com> 7359 7360 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size. 7361 73622010-03-02 Eric Botcazou <ebotcazou@adacore.com> 7363 7364 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h. 7365 (sparc64-*-linux*): Likewise. 7366 (sparc64-*-solaris2*): Include assembler files before linker ones. 7367 (sparc-*-solaris2*): Simplify and reorder to match previous case. 7368 * config/sparc/gas.h: Delete. 7369 * config/sparc/sol2-64.h: Add copyright notice. 7370 * config/sparc/sol2-gas-bi.h: Likewise. 7371 * config/sparc/sol2-gld.h: Likewise. 7372 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete. 7373 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine. 7374 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise. 7375 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine. 7376 (sparc_elf_asm_named_section): Rename into... 7377 (sparc_solaris_elf_asm_named_section): ...this. Always define. 7378 73792010-03-02 Uros Bizjak <ubizjak@gmail.com> 7380 7381 * config/alpha/alpha.c (override_options): Fix -mtune error message. 7382 73832010-03-02 Jeff Law <law@redhat.com> 7384 7385 PR middle-end/42431 7386 * reload1.c (rtx_p, substitute_stack): Declare. 7387 (substitute): Record addresses of changed rtxs. 7388 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore. 7389 Restore the original rtx when complete. 7390 (reload): Free subsitute_stack when complete. 7391 73922010-03-02 Janis Johnson <janis187@us.ibm.com> 7393 7394 * doc/gccint.texi (menu): Add Testsuites as a chapter. 7395 * doc/sourcebuild.texi (Testsuites): Move up a level to be a 7396 new chapter. 7397 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests, 7398 LTO Testing, gcov Testing, profopt Testing, compat Testing, 7399 Torture Tests): Change from subsection to section. 7400 74012010-03-02 Jakub Jelinek <jakub@redhat.com> 7402 Steven Bosscher <steven@gcc.gnu.org> 7403 7404 * var-tracking.c (vt_initialize): Scan insns in ebb chunks 7405 instead of bb. 7406 74072010-03-02 Reza Yazdani <reza.yazdani@amd.com> 7408 7409 PR middle-end/42640 7410 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced 7411 the assignment from the new induction variable to the assignment 7412 of the value from the original loop PHI function. 7413 74142010-03-01 Janis Johnson <janis187@us.ibm.com> 7415 Daniel Jacobowitz <dan@codesourcery.com> 7416 7417 * doc/sourcebuild.texi (Test directives): Clarify options to 7418 dg-skip-if. 7419 74202010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7421 7422 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]: 7423 Disable cfi directives unless GCC and gas agree on using read-only 7424 .eh_frame sections for 64-bit. 7425 * configure: Regenerate. 7426 74272010-03-01 Richard Guenther <rguenther@suse.de> 7428 7429 PR tree-optimization/43220 7430 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize 7431 BUILT_IN_STACK_{SAVE,RESTORE} around alloca. 7432 74332010-03-01 Richard Guenther <rguenther@suse.de> 7434 Martin Jambor <mjambor@suse.cz> 7435 7436 PR middle-end/41250 7437 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on 7438 gimplified parameters. 7439 74402010-03-01 Christian Bruel <christian.bruel@st.com> 7441 7442 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P. 7443 74442010-03-01 H.J. Lu <hongjiu.lu@intel.com> 7445 7446 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64. 7447 74482010-03-01 Richard Guenther <rguenther@suse.de> 7449 7450 PR middle-end/43213 7451 * expr.c (expand_assignment): Use the alias-oracle to tell 7452 if the rhs aliases the result decl. 7453 74542010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7455 7456 PR pch/14940 7457 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine 7458 to sol_gt_pch_get_address. 7459 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and 7460 64-bit, SPARC and x86. 7461 (sol_gt_pch_get_address): New function. 7462 74632010-03-01 Marco Poletti <poletti.marco@gmail.com> 7464 7465 * toplev.h (inform_n, error_n): Declare. 7466 * diagnostic.c (inform_n, error_n): New function. 7467 74682010-03-01 Jakub Jelinek <jakub@redhat.com> 7469 7470 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var 7471 has no rtl yet when processing local_decls, queue it and recheck 7472 if deferred stack allocation hasn't assigned it rtl. 7473 74742010-02-28 Kaz Kojima <kkojima@gcc.gnu.org> 7475 7476 * config/sh/sh.c (unspec_bbr_uid): New. 7477 (gen_block_redirect): Use it instead of INSN_UID. 7478 (gen_far_branch): Likewise. 7479 74802010-02-28 H.J. Lu <hongjiu.lu@intel.com> 7481 7482 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make 7483 it the same as TARGET_SUBTARGET64_ISA_DEFAULT. 7484 74852010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 7486 7487 * doc/invoke.texi (Warning Options, RX Options): Fix typos. 7488 (Warning Options): -Wno-conversion-null is valid for 7489 Objective-C++ as well. 7490 * doc/tm.texi (Named Address Spaces): Likewise. 7491 * doc/plugins.texi (Plugins): Replace TABs with spaces. 7492 * doc/tree-ssa.texi (Tree SSA): Likewise. 7493 74942010-02-27 H.J. Lu <hongjiu.lu@intel.com> 7495 7496 PR bootstrap/43202 7497 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin* 7498 by default. Don't set the default arch for 7499 i[34567]86-*-darwin*|x86_64-*-darwin*. 7500 75012010-02-27 H.J. Lu <hongjiu.lu@intel.com> 7502 7503 PR bootstrap/43202 7504 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by 7505 default. Set the default 32bit/64bit archs with $with_arch 7506 instead of $arch for i[34567]86-*-*|x86_64-*-* targets. 7507 75082010-02-27 Richard Guenther <rguenther@suse.de> 7509 7510 PR tree-optimization/43186 7511 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param. 7512 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document. 7513 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit 7514 unroller iterations. 7515 75162010-02-27 H.J. Lu <hongjiu.lu@intel.com> 7517 7518 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is 7519 required and i[34567]86-*-* targets don't support 64bit ISA. 7520 75212010-02-26 Eric Botcazou <ebotcazou@adacore.com> 7522 7523 PR ada/43096 7524 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have 7525 the same alias set. 7526 75272010-02-26 H.J. Lu <hongjiu.lu@intel.com> 7528 7529 * config.gcc: Set the default arch at least to Prescott for 7530 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets 7531 if SSE math is enabled. 7532 75332010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org> 7534 7535 * diagnostic.c (diagnostic_initialize): Update. 7536 (diagnostic_report_diagnostic): Test inhibit_notes_p for 7537 informative notes. 7538 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p. 7539 (diagnostic_inhibit_notes): New. 7540 * toplev.c (process_options): inhibit notes with -fcompare-debug. 7541 75422010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org> 7543 7544 PR c/20631 7545 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89. 7546 * doc/standards.texi: Likewise. 7547 * doc/extend.texi: Likewise. 7548 * doc/trouble.texi: Likewise. 7549 * doc/cppopts.texi: Likewise. 7550 * doc/install.texi: Likewise. 7551 * c.opt (std=c90,std=gnu90): New options. 7552 * c-opts.c (c_common_handle_option): Handle them. 7553 75542010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org> 7555 7556 PR c/24577 7557 * c-decl.c (undeclared_variable): Use an informative note. 7558 75592010-02-26 Richard Guenther <rguenther@suse.de> 7560 7561 PR tree-optimization/43186 7562 * gimple.h (gimple_fold): Remove. 7563 * gimple.c (gimple_fold): Remove. Inline into single user ... 7564 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here. 7565 Try harder for conditions. 7566 75672010-02-26 Jakub Jelinek <jakub@redhat.com> 7568 7569 PR debug/43190 7570 * function.c (used_types_insert): Don't skip through named pointer 7571 types. Don't use TYPE_MAIN_VARIANT if the original type has a name 7572 and it is different from the main variant's type. 7573 75742010-02-26 Nick Clifton <nickc@redhat.com> 7575 7576 * config/rx/rx.md (sminsi3): Remove bogus alternative. 7577 75782010-02-26 H.J. Lu <hongjiu.lu@intel.com> 7579 7580 * config.gcc: Support --with-fpmath=sse for x86. 7581 7582 * config/i386/ssemath.h: New. 7583 7584 * doc/install.texi (--with-fpmath=sse): Documented. 7585 75862010-02-26 Richard Guenther <rguenther@suse.de> 7587 7588 PR tree-optimization/43188 7589 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build 7590 vector types of over-aligned element type. 7591 75922010-02-26 Uros Bizjak <ubizjak@gmail.com> 7593 7594 PR target/43175 7595 * config/i386/i386.c (expand_vec_perm_blend): Use correct 7596 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx. 7597 75982010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com> 7599 7600 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo. 7601 76022010-02-26 Jakub Jelinek <jakub@redhat.com> 7603 7604 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H). 7605 * var-tracking.c: Include diagnostic.h. 7606 (debug_dv): New function. 7607 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N. 7608 7609 PR debug/43160 7610 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs. 7611 (add_value_chain, add_value_chains, remove_value_chain, 7612 remove_value_chains): Handle DEBUG_EXPRs. 7613 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs. 7614 7615 PR debug/43161 7616 * regcprop.c (struct queued_debug_insn_change): New type. 7617 (struct value_data_entry): Add debug_insn_changes field. 7618 (struct value_data): Add n_debug_insn_changes field. 7619 (debug_insn_changes_pool): New variable. 7620 (free_debug_insn_changes, apply_debug_insn_changes, 7621 cprop_find_used_regs_1, cprop_find_used_regs): New functions. 7622 (kill_value_one_regno): Call free_debug_insn_changes if needed. 7623 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes 7624 fields. 7625 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue 7626 changes for them. 7627 (copyprop_hardreg_forward_1): Don't call apply_change_group for 7628 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN 7629 changes, call cprop_find_used_regs via note_stores. 7630 (copyprop_hardreg_forward): When copying vd from predecessor 7631 which has any queued DEBUG_INSN changes, make sure the pointers are 7632 cleared. At the end call df_analyze and then if there are any 7633 DEBUG_INSN changes queued at the end of some basic block for still 7634 live registers, apply them. 7635 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish. 7636 76372010-02-25 Uros Bizjak <ubizjak@gmail.com> 7638 7639 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line. 7640 (arm*-*-*): Ditto. 7641 76422010-02-25 H.J. Lu <hongjiu.lu@intel.com> 7643 7644 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-* 7645 targets. Set the default with_cpu/with_arch from arch/cpu. 7646 Allow x86-64 and native for with_cpu/with_arch. 7647 76482010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org> 7649 7650 * ebitmap.c: Change calls to verify_popcount with calls to 7651 sbitmap_verify_popcount. 7652 (ebitmap_clear_bit): Fixed map->cacheindex test and 7653 map>cache update when bit clearing results in an empty 7654 element. 7655 76562010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com> 7657 7658 PR target/43154 7659 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI. 7660 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df 7661 and support both V2DF and V2DI modes. 7662 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and 7663 support both V2DF and V2DI modes. 7664 (general): Delete trailing whitespace from a few patterns. 7665 7666 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add 7667 V2DF/V2DI interleave high/low builtins. 7668 7669 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add 7670 new VSX builtins. 7671 7672 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI 7673 interleave high/low functions. 7674 76752010-02-25 Gerald Pfeifer <gerald@pfeifer.com> 7676 7677 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of 7678 #pragma extern_prefix. 7679 76802010-02-25 Jakub Jelinek <jakub@redhat.com> 7681 7682 PR debug/43166 7683 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is 7684 BLKmode, assert op0 is a MEM and just adjust its mode. 7685 7686 PR debug/43165 7687 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg 7688 if bitpos isn't multiple of mode's bitsize. 7689 76902010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org> 7691 7692 * c.opt (-ftemplate-depth=): New. 7693 (-ftemplate-depth-): Deprecate. 7694 * optc-gen.awk: Handle -ftemplate-depth=. 7695 * opth-gen.awk: Likewise. 7696 * c-opts.c (c_common_handle_option): Likewise. 7697 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=. 7698 76992010-02-24 Jason Merrill <jason@redhat.com> 7700 7701 * doc/invoke.texi: Improve -Wabi and -fabi-version docs. 7702 77032010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7704 7705 * cfg.c (alloc_aux_for_block): Remove inline. 7706 (alloc_aux_for_edge): Likewise. 7707 77082010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7709 7710 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion. 7711 77122010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7713 7714 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define. 7715 * config/i386/sol2-gas.h: New file. 7716 * config.gcc (i[34567]86-*-solaris2*): Use it. 7717 77182010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org> 7719 7720 PR c/43128 7721 * c-typeck.c (ep_convert_and_check): New. 7722 (build_conditional_expr): Use it. 7723 (build_binary_op): Likewise. 7724 77252010-02-24 Jakub Jelinek <jakub@redhat.com> 7726 7727 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan. 7728 7729 PR debug/43150 7730 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA 7731 bounds even for -O+. 7732 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate 7733 expr needs to have DECL_NAME set. 7734 77352010-02-24 Nick Clifton <nickc@redhat.com> 7736 7737 * config/mep/mep.c: Include gimple.h. 7738 (mep_function_uses_sp): Delete unused function. 7739 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p 7740 parameters. Use unsigned integers to count args. Return a 7741 NULL_RTX instead of an error_mark_node. Toidy up formatting. 7742 77432010-02-23 Jakub Jelinek <jakub@redhat.com> 7744 7745 PR target/43107 7746 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes 7747 greater or equal to nelt instead of 2 * nelt. 7748 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes 7749 with nelt - 1. 7750 77512010-02-23 Jason Merrill <jason@redhat.com> 7752 7753 PR debug/42800 7754 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars 7755 in cfun->local_decls even if they have register types. 7756 7757 PR c++/42837 7758 * stor-layout.c (place_field): Don't warn about unnecessary 7759 DECL_PACKED if the type is packed. 7760 77612010-02-23 Jakub Jelinek <jakub@redhat.com> 7762 7763 PR target/43139 7764 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all 7765 GOTOFF relocs, even when the base reg isn't pic pointer. 7766 77672010-02-23 Michael Matz <matz@suse.de> 7768 7769 PR debug/43077 7770 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place. 7771 (expand_gimple_basic_block): Generate and use debug temps if there 7772 are debug uses left after the last real use of TERed ssa names. 7773 Unlink debug immediate uses when they are expanded. 7774 77752010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org> 7776 7777 PR 43123 7778 * config/i386/i386.c (override_options): Reorganise to provide 7779 better error messages. 7780 77812010-02-22 Sebastian Pop <sebastian.pop@amd.com> 7782 7783 PR middle-end/43083 7784 * graphite-scop-detection.c (create_single_exit_edge): Move 7785 the call to find_single_exit_edge to.... 7786 (create_sese_edges): ...here. Don't handle multiple edges 7787 exiting the function. 7788 (build_graphite_scops): Don't handle multiple edges 7789 exiting the function. 7790 77912010-02-22 Sebastian Pop <sebastian.pop@amd.com> 7792 7793 PR middle-end/43097 7794 * sese.c (get_rename): Assert that old_name is an SSA_NAME. 7795 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME. 7796 77972010-02-22 Sebastian Pop <sebastian.pop@amd.com> 7798 7799 PR middle-end/43026 7800 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF. 7801 78022010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org> 7803 7804 PR c++/43126 7805 * c-typeck.c (convert_arguments): Print declaration location. 7806 * c-common.c (validate_nargs): Rename as 7807 builtin_function_validate_nargs. 7808 (check_builtin_function_arguments): Update. 7809 78102010-02-22 Richard Guenther <rguenther@suse.de> 7811 7812 PR lto/43045 7813 * tree-inline.c (declare_return_variable): Use the type of 7814 the call stmt lhs if available. 7815 78162010-02-22 Duncan Sands <baldrick@free.fr> 7817 7818 * passes.c (register_pass): Always consider all pass lists when 7819 ref_pass_instance_number is zero. 7820 78212010-02-22 Richard Guenther <rguenther@suse.de> 7822 7823 PR tree-optimization/42749 7824 * tree-tailcall.c (adjust_return_value_with_ops): Drop update 7825 parameter. Do arithmetic in the original type. 7826 (update_accumulator_with_ops): Likewise. 7827 (adjust_accumulator_values): Adjust. 7828 78292010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 7830 7831 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative. 7832 (QI to BLKmode splitter): New splitter. 7833 78342010-02-22 H.J. Lu <hongjiu.lu@intel.com> 7835 7836 * config/i386/i386.c (initial_ix86_tune_features): Turn on 7837 X86_TUNE_INTER_UNIT_MOVES for m_ATOM. 7838 78392010-02-22 Richard Guenther <rguenther@suse.de> 7840 7841 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo. 7842 78432010-02-22 Hans-Peter Nilsson <hp@bitrange.com> 7844 7845 Migrate crti, crtn, crtbegin, crtend build rules to libgcc. 7846 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set. 7847 ($(T)crti.o, $(T)crtn.o): Remove rules. 7848 78492010-02-21 Tobias Burnus <burnus@net-b.de> 7850 7851 PR fortran/35259 7852 * doc/invoke.texi (-fassociative-math): Document that this 7853 option is automatically enabled for Fortran. 7854 78552010-02-20 David S. Miller <davem@davemloft.net> 7856 7857 * configure.ac: Test if linker and assembler properly support 7858 GOTDATA_OP relocations. 7859 * configure: Rebuild. 7860 * config.in: Likewise. 7861 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New. 7862 (movsi_lo_sum_pic): Use %gdop_*() relocs if available. 7863 (movsi_high_pic): Likewise. 7864 (movdi_lo_sum_pic): Likewise. 7865 (movdi_high_pic): Likewise. 7866 (movsi_pic_gotdata_op): New pattern. 7867 (movdi_pic_gotdata_op): Likewise. 7868 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2, 7869 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load. 7870 78712010-02-20 Uros Bizjak <ubizjak@gmail.com> 7872 7873 PR target/43067 7874 * config/i386/sse.md (xop_mulv2div2di3_low): Change type 7875 attribute to ssemul. 7876 (xop_mulv2div2di3_high): Ditto. 7877 78782010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org> 7879 7880 PR c++/35669 7881 * c.opt (Wconversion-null): New option. 7882 * doc/invoke.texi (Wconversion-null): Document. 7883 78842010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org> 7885 7886 * common.opt (Wlarger-than-): Add Undocumented. 7887 78882010-02-19 Mike Stump <mikestump@comcast.net> 7889 7890 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it. 7891 78922010-02-19 Jason Merrill <jason@redhat.com> 7893 7894 PR target/40332 7895 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance. 7896 * configure: Likewise. 7897 78982010-02-20 Alan Modra <amodra@gmail.com> 7899 7900 PR middle-end/42344 7901 * cgraph.h (cgraph_make_decl_local): Declare. 7902 * cgraph.c (cgraph_make_decl_local): New function. 7903 (cgraph_make_node_local): Use it. 7904 * cgraphunit.c (cgraph_function_versioning): Likewise. 7905 * ipa.c (function_and_variable_visibility): Likewise. 7906 79072010-02-19 Jakub Jelinek <jakub@redhat.com> 7908 7909 PR bootstrap/43121 7910 * except.c (sjlj_emit_function_enter): Don't call 7911 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn 7912 directly. 7913 * rtl.h (add_reg_br_prob_note): Remove prototype. 7914 79152010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org> 7916 7917 PR 41779 7918 * c-common.c (conversion_warning): Remove widening conversions 7919 before checking the conversion of integers to reals. 7920 79212010-02-19 Mike Stump <mikestump@comcast.net> 7922 7923 PR middle-end/43125 7924 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P. 7925 7926 PR objc/43061 7927 * cgraphunit.c (process_function_and_variable_attributes): Check 7928 DECL_PRESERVE_P instead of looking up attribute "used". 7929 * ipa-pure-const.c (check_decl): Likewise. 7930 * ipa-reference.c (has_proper_scope_for_analysis): Likewise. 7931 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise. 7932 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P 7933 instead of attribute "used". 7934 * config/sol2-c.c (solaris_pragma_init): Likewise. 7935 (solaris_pragma_fini): Likewise. 7936 79372010-02-19 Jakub Jelinek <jakub@redhat.com> 7938 7939 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field): 7940 Use XCNEW instead of xcalloc. 7941 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use 7942 XNEW instead of xmalloc. 7943 (get_fields): Use XNEWVEC instead of xmalloc. 7944 7945 PR debug/43084 7946 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't 7947 populate vars array. 7948 (create_new_general_access): For debug stmts just reset value. 7949 (get_stmt_accesses): For accesses within debug stmts just record them 7950 using add_access_to_acc_sites instead of preventing the peeling or 7951 counting them as accesses. 7952 7953 PR middle-end/42233 7954 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority. 7955 79562010-02-19 Richard Guenther <rguenther@suse.de> 7957 7958 PR tree-optimization/42916 7959 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real 7960 instructions. 7961 79622010-02-19 Andreas Schwab <schwab@linux-m68k.org> 7963 7964 * configure.ac: Replace all uses of changequote in macro arguments 7965 with proper quoting. 7966 79672010-02-19 Jakub Jelinek <jakub@redhat.com> 7968 7969 PR middle-end/42233 7970 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller. 7971 79722010-02-19 Richard Guenther <rguenther@suse.de> 7973 7974 PR tree-optimization/42944 7975 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage 7976 test for aliasing with errno. 7977 79782010-02-19 Jakub Jelinek <jakub@redhat.com> 7979 7980 PR middle-end/42233 7981 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump, 7982 do_jump_1, do_compare_rtx_and_jump): Add PROB argument. 7983 * dojump.c: Include output.h. 7984 (inv): New inline function. 7985 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump, 7986 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater, 7987 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx, 7988 do_jump_by_parts_equality, do_compare_and_jump): Add PROB 7989 argument, pass it down to other calls. 7990 (do_compare_rtx_and_jump): Likewise. If PROB is not -1, 7991 add REG_BR_PROB note to the conditional jump. 7992 * cfgexpand.c (add_reg_br_prob_note): Removed. 7993 (expand_gimple_cond): Don't call it, add the probability 7994 as last argument to jumpif_1/jumpifnot_1. 7995 * Makefile.in (dojump.o): Depend on output.h. 7996 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump 7997 callers. 7998 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise. 7999 * stmt.c (do_jump_if_equal): Likewise. 8000 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise. 8001 * loop-unswitch.c (compare_and_jump_seq): Likewise. 8002 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): 8003 Likewise. 8004 * optabs.c (expand_doubleword_shift, expand_abs): Likewise. 8005 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and 8006 jumpifnot_1 callers. 8007 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump 8008 callers. 8009 (store_expr): Adjust jumpifnot caller. 8010 (store_constructor): Adjust jumpif caller. 8011 8012 PR middle-end/42233 8013 * gimplify.c (gimple_boolify): For __builtin_expect call 8014 gimple_boolify also on its first argument. 8015 80162010-02-18 Uros Bizjak <ubizjak@gmail.com> 8017 8018 * configure.ac (gnu-unique-object): Wrap regexps using [] in 8019 changequote block. 8020 (__stack_chk_fail): Ditto. Remove quadrigraphs. 8021 * configure: Regenerated. 8022 80232010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 8024 8025 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call 8026 lang_hooks.types_compatible_p instead of comptypes. 8027 80282010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de> 8029 8030 * config/arm/lib1funcs.asm (__prefer_thumb__): New define. 8031 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant 8032 if __prefer_thumb__ is defined. 8033 80342010-02-18 Martin Jambor <mjambor@suse.cz> 8035 8036 PR tree-optimization/43066 8037 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an 8038 array with zero-sized element type. 8039 80402010-02-18 Jakub Jelinek <jakub@redhat.com> 8041 8042 * dwarf2out.c (add_var_loc_to_decl): Change last argument to 8043 rtx, allocate struct var_loc_node here and return it to the 8044 caller, and only if it is actually needed. 8045 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller, 8046 move it earlier and return immediately if it returns NULL. 8047 80482010-02-17 Mikael Pettersson <mikpe@it.uu.se> 8049 8050 * config/sparc/gas.h: New file. Restore 8051 TARGET_ASM_NAMED_SECTION to its ELF default. 8052 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not 8053 check !HAVE_GNU_AS. 8054 * config/sparc/sparc.c (sparc_elf_asm_named_section): 8055 Likewise. Add ATTRIBUTE_UNUSED to prototype. 8056 * config.gcc (sparc*-*-linux*): Include sparc/gas.h 8057 after sparc/sysv4.h. 8058 80592010-02-17 Dave Korn <dave.korn.cygwin@gmail.com> 8060 8061 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name. 8062 80632010-02-17 Steven Bosscher <steven@gcc.gnu.org> 8064 8065 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC 8066 patterns from predicated pattern. 8067 80682010-02-17 Uros Bizjak <ubizjak@gmail.com> 8069 8070 PR target/43103 8071 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c 8072 for insn mnemonic suffix. 8073 80742010-02-17 Richard Guenther <rguenther@suse.de> 8075 8076 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis 8077 to loop PHI nodes. 8078 80792010-02-17 Jakub Jelinek <jakub@redhat.com> 8080 8081 PR debug/42918 8082 * caller-save.c (save_call_clobbered_regs): If BB ends with 8083 a DEBUG_INSN, move any notes in between last real insn and the last 8084 DEBUG_INSN after the last DEBUG_INSN. 8085 80862010-02-16 Joern Rennecke <joern.rennecke@embecosm.com> 8087 8088 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): 8089 Fix return type. Fix argument type. Explain meaning of return value. 8090 80912010-02-16 Richard Guenther <rguenther@suse.de> 8092 8093 PR tree-optimization/41043 8094 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops. 8095 (vrp_visit_assignment_or_call): Do not ask SCEV for regular 8096 statements ... 8097 (vrp_visit_phi_node): ... but only for loop PHI nodes. 8098 80992010-02-16 Ira Rosen <irar@il.ibm.com> 8100 8101 PR tree-optimization/43074 8102 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New. 8103 * tree-vect-loop.c (vect_analyze_loop_operations): Add 8104 vectorizable cycles in hybrid SLP check. 8105 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise. 8106 81072010-02-16 Richard Guenther <rguenther@suse.de> 8108 8109 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know. 8110 (true_dependence): If memrefs_conflict_p computes must-alias 8111 trust it. Move TBAA check after offset-based disambiguation. 8112 (canon_true_dependence): Likewise. 8113 81142010-02-16 Alexandre Oliva <aoliva@redhat.com> 8115 8116 * params.def (PARAM_MAX_VARTRACK_SIZE): New. 8117 * doc/invoke.texi: Document it. 8118 * var-tracking.c: Include toplev.h and params.h. 8119 (vt_find_locations): Return bool indicating success. Compute 8120 hash sizes unconditionally. Check new parameter, report. 8121 (variable_tracking_main_1): Check vt_find_locations results and 8122 retry. Renamed from... 8123 (variable_tracking_main): ... this. New wrapper to preserve 8124 flag_var_tracking_assignments. 8125 * Makefile.in (var-tracking.o): Adjust dependencies. 8126 81272010-02-16 Jack Howarth <howarth@bromo.med.uc.edu> 8128 Jakub Jelinek <jakub@redhat.com> 8129 8130 PR target/42854 8131 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute 8132 if weak_import attribute is present. 8133 * config/darwin.c (machopic_select_section): Likewise. 8134 81352010-02-15 Joern Rennecke <joern.rennecke@embecosm.com> 8136 8137 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document. 8138 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise. 8139 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise. 8140 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise. 8141 8142 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types. 8143 8144 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): 8145 Fix argument types. 8146 8147 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names. 8148 Rewrite text to refer to the names. 8149 81502010-02-15 Sebastian Pop <sebastian.pop@amd.com> 8151 8152 * config/i386/i386-builtin-types.def 8153 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared. 8154 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared. 8155 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared. 8156 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared. 8157 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD, 8158 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and 8159 IX86_BUILTIN_VPERMIL2PS256. 8160 (MULTI_ARG_4_DF2_DI_I): Defined. 8161 (MULTI_ARG_4_DF2_DI_I1): Defined. 8162 (MULTI_ARG_4_SF2_SI_I): Defined. 8163 (MULTI_ARG_4_SF2_SI_I1): Defined. 8164 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd, 8165 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and 8166 __builtin_ia32_vpermil2ps256. 8167 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I, 8168 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and 8169 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments. 8170 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I, 8171 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and 8172 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3, 8173 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and 8174 CODE_FOR_xop_vpermil2v8sf3. 8175 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared. 8176 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern. 8177 * config/i386/xopintrin.h (_mm_permute2_pd): New. 8178 (_mm256_permute2_pd): New. 8179 (_mm_permute2_ps): New. 8180 (_mm256_permute2_ps): New. 8181 81822010-02-15 Nick Clifton <nickc@redhat.com> 8183 8184 * config/h8300/h8300.c: (h8300_push_pop): Use bool type for 8185 boolean parameters. Use emit_jump_insn when emitting a pop 8186 instruction containing a return insn. 8187 (push): Use 'true' rather than '1' as second parameter to F. 8188 (h8300_expand_prologue): Likewise. 8189 Use 'true' and 'false' for boolean parameters to h8300_push_pop. 8190 (h8300_expand_epilogue): Likewise. 8191 81922010-02-15 Richard Guenther <rguenther@suse.de> 8193 8194 PR middle-end/43068 8195 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset 8196 if that is zero. 8197 81982010-02-15 Nick Clifton <nickc@redhat.com> 8199 8200 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous 8201 delta. 8202 82032010-02-14 Marco Poletti <poletti.marco@gmail.com> 8204 8205 * intl.c (fake_ngettext): New function. 8206 * intl.h (fake_ngettext): Declare. 8207 (ngettext): Define macro. 8208 * collect2.c (notice_translated): New function. 8209 (main): Use notice_translated and ngettext. 8210 * collect2.h (notice_translated): Declare. 8211 82122010-02-14 Steven Bosscher <steven@gcc.gnu.org> 8213 8214 * reorg.c (delete_computation): Comment fixes. 8215 * caller-save.c (setup_save_areas): Idem. 8216 * sel-sched-dump.c (dump_lv_set): Idem. 8217 * rtl.def: Idem. 8218 82192010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 8220 8221 * config/s390/s390.c (s390_sched_init): New function. 8222 (TARGET_SCHED_INIT): Target hook defined. 8223 82242010-02-12 Dave Korn <dave.korn.cygwin@gmail.com> 8225 Jack Howarth <howarth@bromo.med.uc.edu> 8226 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 8227 8228 PR target/42982 8229 Partial revert of unintended change in fix for PR41605. 8230 * config/darwin.h: Fix typo. 8231 * config/darwin9.h: Same. 8232 82332010-02-11 Jakub Jelinek <jakub@redhat.com> 8234 8235 * c-pch.c (pch_init): Clear v. 8236 82372010-02-11 Sebastian Pop <sebastian.pop@amd.com> 8238 8239 PR middle-end/42930 8240 * graphite-scop-detection.c (graphite_can_represent_scev): Call 8241 graphite_can_represent_init for MULT_EXPR. 8242 82432010-02-11 Sebastian Pop <sebastian.pop@amd.com> 8244 8245 PR middle-end/42914 8246 PR middle-end/42530 8247 * graphite-sese-to-poly.c (remove_phi): New. 8248 (translate_scalar_reduction_to_array): Call remove_phi. 8249 82502010-02-11 Sebastian Pop <sebastian.pop@amd.com> 8251 8252 PR middle-end/42771 8253 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters. 8254 * graphite-clast-to-gimple.h (gloog): Update declaration. 8255 * graphite-poly.c (new_scop): Clear POLY_SCOP_P. 8256 * graphite-poly.h (struct poly_bb): Add missing comments. 8257 (struct scop): Add poly_scop_p field. 8258 (POLY_SCOP_P): New. 8259 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P. 8260 * graphite.c (graphite_transform_loops): Build the polyhedral 8261 representation for each scop before code generation. 8262 * sese.c (rename_variables_in_operand): Removed. 8263 (rename_variables_in_expr): Return the renamed expression. 8264 (rename_sese_parameters): New. 8265 * sese.h (rename_sese_parameters): Declared. 8266 82672010-02-11 Richard Guenther <rguenther@suse.de> 8268 8269 PR tree-optimization/42998 8270 * tree-ssa-pre.c (create_expression_by_pieces): Treat 8271 POINTER_PLUS_EXPR properly. 8272 82732010-02-11 Sebastian Pop <sebastian.pop@amd.com> 8274 Changpeng Fang <changpeng.fang@amd.com> 8275 8276 PR middle-end/40886 8277 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement 8278 the cost of an IV candidate when the IV is used in a test against zero. 8279 8280 * gcc.dg/tree-ssa/ivopts-3.c: New. 8281 82822010-02-11 Richard Guenther <rguenther@suse.de> 8283 8284 PR lto/41664 8285 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize 8286 pointer-vs-decl case by swapping refs. Handle some cases 8287 of pointer-vs-decl disambiguations more conservatively. 8288 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p 8289 to false after expanding. 8290 82912010-02-11 Richard Guenther <rguenther@suse.de> 8292 8293 PR driver/43021 8294 * gcc.c (process_command): Handle LTO file@offset case more 8295 appropriately. 8296 82972010-02-11 Jakub Jelinek <jakub@redhat.com> 8298 8299 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any 8300 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside 8301 of DEBUG_INSNs. 8302 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs. 8303 8304 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size 8305 if MEM's mode size isn't DWARF2_ADDR_SIZE. 8306 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments. 8307 Optimize eq/ne comparisons when both arguments are known to be 8308 zero-extended. 8309 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments. 8310 Don't mask operands unnecessarily if they are known to be already 8311 zero-extended. 8312 83132010-02-10 Vladimir Makarov <vmakarov@redhat.com> 8314 8315 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note 8316 instead of loop. 8317 83182010-02-10 Richard Guenther <rguenther@suse.de> 8319 8320 PR tree-optimization/43017 8321 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop 8322 for wrapping signed arithmetic. 8323 83242010-02-10 Jakub Jelinek <jakub@redhat.com> 8325 8326 PR debug/43010 8327 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die 8328 if no debug info should be emitted for it. 8329 83302010-02-10 Kaz Kojima <kkojima@gcc.gnu.org> 8331 8332 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION 8333 note when flag_exceptions is set. 8334 83352010-02-10 Duncan Sands <baldrick@free.fr> 8336 8337 * Makefile.in (PLUGIN_HEADERS): Add debug.h. 8338 83392010-02-10 Richard Guenther <rguenther@suse.de> 8340 8341 PR c/43007 8342 * tree.c (get_unwidened): Handle constants. 8343 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR. 8344 83452010-02-10 Martin Jambor <mjambor@suse.cz> 8346 8347 PR lto/42985 8348 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and 8349 check for variable argument counts independently. 8350 83512010-02-10 Christian Bruel <christian.bruel@st.com> 8352 8353 PR target/42841 8354 * config/sh/sh.c (find_barrier): Increase length for non delayed 8355 conditional branches. 8356 83572010-02-10 Christian Bruel <christian.bruel@st.com> 8358 8359 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting. 8360 83612010-02-10 Jakub Jelinek <jakub@redhat.com> 8362 8363 * builtins.c (set_builtin_user_assembler_name): Also handle 8364 ffs if int is smaller than word. 8365 83662010-02-09 Vladimir Makarov <vmakarov@redhat.com> 8367 8368 PR middle-end/42973 8369 * ira-conflicts.c (get_dup): Remove. 8370 (process_reg_shuffles): Add new parameter. Use it as an 8371 additional guard for copy generation. 8372 (add_insn_allocno_copies): Rewrite. 8373 83742010-02-09 Alexander Monakov <amonakov@ispras.ru> 8375 8376 * common.opt (fsched2-use-traces): Preserved for backward 8377 compatibility. 8378 * doc/invoke.texi: Remove the documentation about option 8379 -fsched2-use-traces. 8380 * sched-rgn.c (rest_of_handle_sched2): Remove usage of 8381 flag_sched2_use_traces. 8382 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to 8383 the backward compatibility flag section. 8384 83852010-02-09 Richard Guenther <rguenther@suse.de> 8386 8387 PR tree-optimization/43008 8388 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl, 8389 make HEAP variables initialized from global memory if they 8390 are not known builtin functions. 8391 (find_func_aliases): Adjust. 8392 83932010-02-09 Richard Guenther <rguenther@suse.de> 8394 8395 PR tree-optimization/43000 8396 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned 8397 arithmetic manually. 8398 83992010-02-08 Jakub Jelinek <jakub@redhat.com> 8400 8401 PR tree-optimization/42931 8402 * tree-loop-linear.c (try_interchange_loops): Don't call 8403 double_int_mul if estimated_loop_iterations failed. 8404 84052010-02-08 Martin Jambor <mjambor@suse.cz> 8406 8407 PR middle-end/42898 8408 * tree-sra.c (build_accesses_from_assign): Do not mark in 8409 should_scalarize_away_bitmap if stmt has volatile ops. 8410 (sra_modify_assign): Do not process assigns piecemeal if if stmt 8411 has volatile ops. 8412 84132010-02-08 Joern Rennecke <joern.rennecke@embecosm.com> 8414 8415 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document. 8416 84172010-02-07 Adam Nemet <adambnmet@gmail.com> 8418 8419 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment 8420 before the pattern. 8421 84222010-02-07 Andrew Pinski <pinskia@gmail.com> 8423 8424 PR middle-end/42946 8425 * df-core.c (df_finish_pass): Change type of saved_flags to int. 8426 84272010-02-07 Sebastian Pop <sebastian.pop@amd.com> 8428 8429 PR middle-end/42988 8430 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND 8431 to unknown_dependence. 8432 (graphite_legal_transform_dr): Handle the unknown_dependence. 8433 (graphite_carried_dependence_level_k): Same. 8434 84352010-02-07 Sebastian Pop <sebastian.pop@amd.com> 8436 8437 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/. 8438 84392010-02-07 Richard Guenther <rguenther@suse.de> 8440 8441 PR middle-end/42991 8442 * expr.c (get_inner_reference): Always initialize *pbitsize. 8443 84442010-02-07 Richard Guenther <rguenther@suse.de> 8445 8446 PR middle-end/42956 8447 * gimplify.c (gimple_fold_indirect_ref): Avoid generating 8448 new ARRAY_REFs on variable size element or minimal index arrays. 8449 Complete. 8450 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use 8451 gimple_fold_indirect_ref. 8452 84532010-02-06 Richard Earnshaw <rearnsha@arm.com> 8454 8455 PR target/42957 8456 * arm.c (arm_override_options): Just return if the user has specified 8457 an invalid fpu name. 8458 84592010-02-03 Jason Merrill <jason@redhat.com> 8460 8461 PR c++/42870 8462 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call 8463 i386_pe_maybe_record_exported_symbol. 8464 84652010-02-05 Steve Ellcey <sje@cup.hp.com> 8466 8467 PR target/42924 8468 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine. 8469 (pa_delegitimize_address): New function. 8470 84712010-02-05 Ozkan Sezer <sezeroz@gmail.com> 8472 8473 * config/i386/msformat-c.c (ms_printf_length_specs): Set the 8474 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs. 8475 84762010-02-05 Richard Guenther <rguenther@suse.de> 8477 8478 PR lto/42762 8479 * lto-streamer-in.c (get_resolution): Deal with references 8480 to undefined functions. 8481 84822010-02-05 Richard Guenther <rguenther@suse.de> 8483 8484 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions. 8485 (fold_const_aggregate_ref): Likewise. 8486 (ccp_fold_stmt): Substitute loads. 8487 (maybe_fold_reference): Verify types before substituting. 8488 Unshare properly. 8489 (fold_gimple_assign): Unshare properly. 8490 (fold_stmt_1): Insert conversion if necessary before replacing the RHS. 8491 84922010-02-05 Nathan Froyd <froydnj@codesourcery.com> 8493 8494 * config/rs6000/rs6000.c (rs6000_override_options): Invert check 8495 for rs6000_gen_cell_microcode. 8496 84972010-02-04 Richard Guenther <rguenther@suse.de> 8498 8499 PR rtl-optimization/42952 8500 * dse.c (const_or_frame_p): Remove MEM handling. 8501 85022010-02-04 Nick Clifton <nickc@redhat.com> 8503 8504 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define. 8505 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. 8506 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM. 8507 (mn10300_asm_output_mi_thunk): New function. 8508 (mn10300_can_output_mu_thunk): New function. 8509 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define. 8510 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1. 8511 (FUNCTION_ARG): Delete incorrect comment. 8512 85132010-02-03 Jason Merrill <jason@redhat.com> 8514 8515 PR c++/40138 8516 * fold-const.c (operand_equal_p): Handle erroneous types. 8517 85182010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com> 8519 8520 * config/h8300/h8300.md (can_delay): Fix attibute condition. 8521 85222010-02-03 Vladimir Makarov <vmakarov@redhat.com> 8523 8524 PR rtl-optimization/42941 8525 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead 8526 of xmalloc. 8527 85282010-02-03 Jason Merrill <jason@redhat.com> 8529 8530 PR c++/35652 8531 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics. 8532 85332010-02-03 Alexandre Oliva <aoliva@redhat.com> 8534 8535 PR debug/42896 8536 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash. 8537 (cselib_reset_table): Renamed from... 8538 (cselib_reset_table_with_next_value): ... this. 8539 (cselib_get_next_uid): Renamed from... 8540 (cselib_get_next_unknown_value): ... this. 8541 * cselib.c (next_uid): Renamed from... 8542 (next_unknown_value): ... this. 8543 (cselib_clear_table): Adjust. 8544 (cselib_reset_table): Adjust. Renamed from... 8545 (cselib_reset_table_with_next_value): ... this. 8546 (cselib_get_next_uid): Adjust. Renamed from... 8547 (cselib_get_next_unknown_value): ... this. 8548 (get_value_hash): Use hash. 8549 (cselib_hash_rtx): Likewise. 8550 (new_cselib_val): Adjust. Set and dump uid. 8551 (cselib_lookup_mem): Pass next_uid as hash. 8552 (cselib_subst_to_values): Likewise. 8553 (cselib_log_lookup): Dump uid. 8554 (cselib_lookup): Pass next_uid as hash. Adjust. 8555 (cselib_process_insn): Adjust. 8556 (cselib_init): Initialize next_uid. 8557 (cselib_finish): Adjust. 8558 (dump_cselib_table): Likewise. 8559 * dse.c (canon_address): Dump value uid. 8560 * print-rtl.c (print_rtx): Print value uid. 8561 * var-tracking.c (VARIABLE_HASH_VAL): Dropped. 8562 (dvuid): New type. 8563 (dv_uid): New function, sort of renamed from... 8564 (dv_htab_hash): ... this, reimplemented in terms of it and... 8565 (dv_uid2hash): ... this. New. 8566 (variable_htab_eq): Drop excess assertions. 8567 (tie_break_pointers): Removed. 8568 (canon_value_cmp): Compare uids. 8569 (variable_post_merge_New_vals): Print uids. 8570 (vt_add_function_parameters): Adjust. 8571 (vt_initialize): Reset table. Adjust. 8572 85732010-02-03 Richard Guenther <rguenther@suse.de> 8574 8575 PR tree-optimization/42944 8576 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc. 8577 (call_may_clobber_ref_p_1): Likewise. Properly handle 8578 malloc and calloc clobbering errno. 8579 85802010-02-03 Steven Bosscher <steven@gcc.gnu.org> 8581 8582 * doc/invoke.texi: Fix name of sched1 dump. 8583 8584 * opts.c (decode_options): Set flag_tree_switch_conversion 8585 only conditionally on optimize >= 2. 8586 8587 * gcse.c: Assorted comment fixes in pass description. 8588 85892010-02-03 Anthony Green <green@moxielogic.com> 8590 8591 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce 8592 nop padding in order to maintain alignment of storage location of 8593 target function address. 8594 (moxie_trampoline_init): Store target function address at newly 8595 aligned location. 8596 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment 8597 to 32. 8598 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding. 8599 86002010-02-03 Richard Guenther <rguenther@suse.de> 8601 8602 PR middle-end/42927 8603 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification. 8604 86052010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8606 8607 * config.gcc: Reenable check for obsolete targets. 8608 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*, 8609 mips-sgi-irix6.[0-4]*. 8610 86112010-02-02 Nick Clifton <nickc@redhat.com> 8612 8613 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum 8614 constant size of 4 as being the same as 0. 8615 * doc/invoke.texi (RX Options): Document that -mmax-constant-size 8616 can take values in the range 0..4. 8617 86182010-02-02 Jack Howarth <howarth@bromo.med.uc.edu> 8619 8620 PR java/41991 8621 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction() 8622 as _darwin10_Unwind_FindEnclosingFunction(). 8623 * libgcc-libsystem.ver: New. 8624 86252010-02-01 Vladimir Makarov <vmakarov@redhat.com> 8626 8627 PR target/41399 8628 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for 8629 implicitly set registers. 8630 86312010-02-01 Richard Earnshaw <rearnsha@arm.com> 8632 8633 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K. 8634 (arm_override_options): Allow automatic selection of the thread 8635 pointer register if thumb2. 8636 (legitimize_pic_address): Improve code sequences for Thumb2. 8637 (arm_call_tls_get_addr): Likewise. 8638 (legitimize_tls_address): Likewise. 8639 * arm.md (pic_load_addr_arm): Delete. Replace with ... 8640 (pic_load_addr_32bit): ... this. New named pattern. 8641 * thumb2.md (pic_load_addr_thumb2): Delete. 8642 (pic_load_dot_plus_four): Delete. 8643 (tls_load_dot_plus_four): New named pattern. 8644 86452010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8646 8647 PR libgomp/29986 8648 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry. 8649 Document fix for TLS bug. 8650 86512010-01-31 Richard Guenther <rguenther@suse.de> 8652 8653 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be 8654 conservatively correct. 8655 86562010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 8657 8658 PR target/42850 8659 Revert: 8660 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 8661 8662 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two. 8663 86642010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8665 8666 * doc/install.texi: Update recommended GMP/MPFR/MPC versions. 8667 86682010-01-31 Kai Tietz <kai.tietz@onevision.com> 8669 8670 * config.gcc: Adjust order of makefile fragments for mingw targets. 8671 86722010-01-31 Richard Guenther <rguenther@suse.de> 8673 8674 PR middle-end/42898 8675 * gimplify.c (gimplify_init_constructor): For volatile LHS 8676 initialize a temporary. 8677 86782010-01-31 Matthias Klose <doko@ubuntu.com> 8679 8680 * configure.ac: Fix __stack_chk_fail check for cross builds configured 8681 --with-headers 8682 * configure: Regenerate. 8683 86842010-01-29 Eric Botcazou <ebotcazou@adacore.com> 8685 8686 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have 8687 the same alias set and their sizes different constantness. 8688 (aliasing_component_refs_p): Revert 2009-10-24 change. 8689 86902010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8691 8692 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl 8693 unused. 8694 86952010-01-29 Richard Guenther <rguenther@suse.de> 8696 8697 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute. 8698 Assert we successfully updated the call. 8699 87002010-01-29 Jakub Jelinek <jakub@redhat.com> 8701 8702 PR rtl-optimization/42889 8703 * df.h (df_set_bb_dirty_nonlr): New prototype. 8704 * df-core.c (df_set_bb_dirty_nonlr): New function. 8705 * df-scan.c (df_insn_rescan): Call it instead of 8706 df_set_bb_dirty for DEBUG_INSNs. 8707 87082010-01-29 Richard Guenther <rguenther@suse.de> 8709 8710 PR middle-end/37448 8711 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid 8712 quadratic behavior in most cases. 8713 87142010-01-28 Uros Bizjak <ubizjak@gmail.com> 8715 8716 PR target/42891 8717 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode 8718 in the call to gen_x86_movsicc_0_m1. 8719 87202010-01-28 Richard Guenther <rguenther@suse.de> 8721 8722 PR tree-optimization/42871 8723 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders. 8724 87252010-01-28 Richard Guenther <rguenther@suse.de> 8726 8727 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate 8728 into call arguments. 8729 87302010-01-28 Richard Guenther <rguenther@suse.de> 8731 8732 PR middle-end/42883 8733 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove 8734 the forwarder if the destination is an EH landing pad. 8735 87362010-01-28 Razya Ladelsky <razya@il.ibm.com> 8737 8738 * tree-parloops.c (transform_to_exit_first_loop): Update the basic 8739 block list passed to gimple_duplicate_sese_tail. 8740 (parallelize_loops): Avoid parallelization when the function 8741 has_nonlocal_label. 8742 Avoid parallelization when the preheader is IRREDUCIBLE. 8743 Try to optimize when estimated_loop_iterations_int is unresolved. 8744 Add the loop's location to the dump file. 8745 * tree-cfg.c (add_phi_args_after_redirect): Remove. 8746 (gimple_duplicate_sese_tail): Remove the check for the latch. 8747 Redirect nexits to the exit block. 8748 Remove handling of the incoming edges to the latch. 8749 Redirect the backedge from the copied latch to the exit bb. 8750 87512010-01-28 Michael Matz <matz@suse.de> 8752 8753 PR target/42881 8754 * config/i386/i386.c (ix86_expand_vector_init_duplicate): 8755 Wrap force_reg into a sequence, emit it before user. 8756 87572010-01-28 Stephen Thomas <stephen.thomas@arm.com> 8758 8759 * config/arm/arm.md (bswapsi2): Add support for bswapsi2. 8760 (arm_rev): New. 8761 (arm_legacy_rev): Likewise. 8762 (thumb_legacy_rev): Likewise. 8763 87642010-01-27 Jakub Jelinek <jakub@redhat.com> 8765 8766 * dwarf2out.c (mem_loc_descriptor): Remove special casing of 8767 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call 8768 on MEM's address failed, try avoid_constant_pool_reference and 8769 recurse if it returned something different. 8770 (loc_descriptor): If for MEM mem_loc_descriptor failed on the 8771 address, try avoid_constant_pool_reference and recurse if it 8772 returned something different. 8773 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the 8774 address and avoid_constant_pool_reference returned something 8775 different, don't set have_address. 8776 87772010-01-27 Alexandre Oliva <aoliva@redhat.com> 8778 8779 PR debug/42861 8780 * var-tracking.c (val_store): Add modified argument, obey it. 8781 Adjust callers. 8782 (count_uses): Move down logging of main. 8783 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that 8784 don't need resolution. 8785 (emit_notes_in_bb): Likewise. 8786 87872010-01-27 Richard Guenther <rguenther@suse.de> 8788 8789 PR middle-end/42878 8790 * tree-inline.c (remap_decl): Delay remapping of SSA name 8791 default definitions until we need them. 8792 87932010-01-27 Jakub Jelinek <jakub@redhat.com> 8794 8795 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine. 8796 (rs6000_delegitimize_address): New function. 8797 8798 * config/s390/s390.c (s390_delegitimize_address): Call 8799 delegitimize_mem_from_attrs. 8800 8801 PR middle-end/42874 8802 * tree-inline.c (cannot_copy_type_1): Removed. 8803 (copy_forbidden): Don't forbid copying of functions containing 8804 records/unions with variable length fields. 8805 88062010-01-27 Christian Bruel <christian.bruel@st.com> 8807 8808 Revert: 8809 PR target/42841 8810 * config/sh/sh.c (find_barrier): Increase length for non delayed 8811 conditional branches. 8812 88132010-01-27 Matthias Klose <doko@ubuntu.com> 8814 8815 * configure.ac (gnu-unique-object): Fix ldd version check. 8816 * configure: Regenerate. 8817 88182010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8819 8820 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for 8821 HAVE_GNU_AS value. 8822 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION): 8823 Test for HAVE_GNU_AS value. 8824 88252010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8826 8827 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint. 8828 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE, 8829 INT64_TYPE): Define. 8830 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define. 8831 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE, 8832 INT_LEAST64_TYPE): Define. 8833 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE, 8834 UINT_LEAST64_TYPE): Define. 8835 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE) 8836 INT_FAST64_TYPE): Define. 8837 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE, 8838 UINT_FAST64_TYPE): Define. 8839 (INTMAX_TYPE, UINTMAX_TYPE): Define. 8840 (INTPTR_TYPE, UINTPTR_TYPE): Define. 8841 (SIG_ATOMIC_TYPE): Define. 8842 88432010-01-26 Richard Guenther <rguenther@suse.de> 8844 8845 * df-scan.c (df_scan_set_bb_info): Remove assert. 8846 (df_insn_rescan_debug_internal): Merge asserts. 8847 (df_install_ref): Likewise. 8848 (df_mark_reg): Use bitmap_set_range. 8849 (df_hard_reg_used_p): Remove assert. 8850 (df_hard_reg_used_count): Likewise. 8851 88522010-01-26 Richard Guenther <rguenther@suse.de> 8853 8854 PR rtl-optimization/42685 8855 * web.c (web_main): Ignore DEBUG_INSNs. 8856 88572010-01-26 Joern Rennecke <amylaar@spamcop.net> 8858 8859 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments. 8860 8861 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter. 8862 Fix types of fndecl and arglist parameters. 8863 88642010-01-26 Richard Guenther <rguenther@suse.de> 8865 8866 PR middle-end/42806 8867 * tree-eh.c (unsplit_eh): Skip debug insns. 8868 88692010-01-26 Richard Guenther <rguenther@suse.de> 8870 8871 PR tree-optimization/42250 8872 * ipa-type-escape.c (type_escape_execute): Do not analyze clones. 8873 88742010-01-26 Jakub Jelinek <jakub@redhat.com> 8875 8876 PR fortran/42866 8877 * omp-low.c (expand_omp_sections): Only use single_pred if 8878 l2_bb is single_pred_p. 8879 88802010-01-25 Christian Bruel <christian.bruel@st.com> 8881 8882 PR target/42841 8883 * config/sh/sh.c (find_barrier): Increase length for non delayed 8884 conditional branches. 8885 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P. 8886 88872010-01-24 David S. Miller <davem@davemloft.net> 8888 8889 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only 8890 define if not using GAS. 8891 * config/sparc/sparc.c (sparc_elf_asm_named_section): 8892 Likewise. Delete SECTION_MERGE code, which is only applicable 8893 when using GAS. 8894 88952010-01-24 Mark Mitchell <mark@codesourcery.com> 8896 8897 PR c++/42748 8898 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to 8899 mangling of va_list in system headers. 8900 89012010-01-23 Toon Moene <toon@moene.org> 8902 8903 * tree-predcom.c (combine_chains): Return NULL, not false. 8904 89052010-01-23 Joern Rennecke <amylaar@spamcop.net> 8906 8907 * tree-loop-distribution.c (distribute_loop): Fix declaration and 8908 initialization of variable res to agree with return type. 8909 89102010-01-22 Steve Ellcey <sje@cup.hp.com> 8911 8912 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency. 8913 * tree-sra.c: Add include of expr.h. 8914 89152010-01-22 Jakub Jelinek <jakub@redhat.com> 8916 8917 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb, 8918 insert the debug stmt on the single non-EH edge from the stmt. 8919 89202010-01-22 Richard Henderson <rth@redhat.com> 8921 8922 PR tree-opt/42833 8923 * tree-sra.c (sra_modify_assign): Delay re-gimplification of 8924 the RHS until after generate_subtree_copies has insertted its 8925 code before the current statement. 8926 89272010-01-22 Joern Rennecke <amylaar@spamcop.net> 8928 8929 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type. 8930 8931 * gcc-plugin.h (plugin_init): Use "C" likage for c++. 8932 89332010-01-21 Martin Jambor <mjambor@suse.cz> 8934 8935 PR tree-optimization/42585 8936 * tree-sra.c (struct access): New field grp_total_scalarization. 8937 (dump_access): Dump the new field. 8938 (should_scalarize_away_bitmap): New variable. 8939 (cannot_scalarize_away_bitmap): Likewise. 8940 (sra_initialize): Allocate new bitmaps. 8941 (sra_deinitialize): Free new bitmaps. 8942 (create_access_1): New function. 8943 (create_access): Parts moved to create_access_1. 8944 (type_consists_of_records_p): New function. 8945 (completely_scalarize_record): Likewise. 8946 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap. 8947 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap. 8948 (sort_and_splice_var_accesses): Hint groups with a total_scalarization 8949 access. 8950 (analyze_all_variable_accesses): Completely scalarize small eligible 8951 records. 8952 89532010-01-21 Martin Jambor <mjambor@suse.cz> 8954 8955 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields. 8956 89572010-01-21 Andrew Haley <aph@redhat.com> 8958 8959 * gcc.c (process_command): Move lang_specific_driver before 8960 setting cc_libexec_prefix. 8961 89622010-01-21 Richard Guenther <rguenther@suse.de> 8963 8964 PR middle-end/19988 8965 * fold-const.c (negate_expr_p): Pretend only negative 8966 real constants are easily negatable. 8967 89682010-01-20 Janis Johnson <janis187@us.ibm.com> 8969 Jason Merrill <jason@redhat.com> 8970 8971 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ... 8972 (TYPE_TRANSPARENT_AGGR): this, for union and record. 8973 * calls.c (initialize argument_information): Handle it. 8974 * c-common.c (handle_transparent_union_attribute): Use new name. 8975 * c-decl.c (finish_struct): Ditto. 8976 * c-typeck.c (type_lists_compatible_p): Ditto. 8977 (convert_for_assignment): Use new name and also handle record. 8978 * function.c (aggregate_value_p): Handle it. 8979 (pass_by_reference): Ditto. 8980 (assign_parm_data_types): Ditto. 8981 * print-tree.c (print_node): Ditto. 8982 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto. 8983 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto. 8984 * tree.c (first_field): New fn. 8985 89862010-01-21 Dave Korn <dave.korn.cygwin@gmail.com> 8987 8988 PR target/42818 8989 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers, 8990 even when linking statically, for now. 8991 89922010-01-20 Alexandre Oliva <aoliva@redhat.com> 8993 8994 PR debug/42715 8995 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set 8996 without a cselib val. 8997 (count_uses): Accept MO_VAL_SET with no val on stores. 8998 (add_stores): Likewise. 8999 90002010-01-20 Jakub Jelinek <jakub@redhat.com> 9001 9002 * var-tracking.c (check_value_val): Add a compile time assertion. 9003 (dv_is_decl_p): Simplify. 9004 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use 9005 gcc_assert if ENABLE_CHECKING. 9006 90072010-01-20 Alexandre Oliva <aoliva@redhat.com> 9008 9009 PR debug/42782 9010 * var-tracking.c: Include tree-flow.h. 9011 (mem_dies_at_call): New. 9012 (dataflow_set_preserve_mem_locs): Use it. 9013 (dataflow_set_remove_mem_locs): Likewise. 9014 (dump_var): Renamed from dump_variable. Adjust all callers. 9015 (dump_var_slot): Renamed from dump_variable_slot. Likewise. 9016 * Makefile.in (var-tracking.o): Adjust deps. 9017 90182010-01-20 Joern Rennecke <amylaar@spamcop.net> 9019 9020 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list. 9021 90222010-01-20 Richard Guenther <rguenther@suse.de> 9023 9024 PR tree-optimization/42717 9025 * tree-ssa-dce.c (get_live_post_dom): Remove. 9026 (forward_edge_to_pdom): Take an arbitrary edge to copy 9027 degenerate PHI args from. 9028 (remove_dead_stmt): Use the first post-dominator even if it 9029 does not contain live statements as redirection destination. 9030 90312010-01-20 Richard Guenther <rguenther@suse.de> 9032 9033 * tree-inline.c (estimate_num_insns): Handle EH builtins. 9034 90352010-01-20 Jakub Jelinek <jakub@redhat.com> 9036 9037 * sel-sched.c (create_speculation_check): Remove set but not used 9038 variable twin. 9039 (try_transformation_cache): Remove set but not used variable ds. 9040 (calculate_privileged_insns): Remove set but not used variables 9041 cur_insn and min_spec_insn. 9042 (find_best_expr): Remove set but not used variable avail_n. 9043 * tree-predcom.c (base_names_in_chain_on): Remove set but not used 9044 variable e. 9045 * cgraphunit.c (assemble_thunk): Remove set but not used variable 9046 false_label. 9047 * haifa-sched.c (remove_notes): Remove set but not used variable prev. 9048 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable 9049 new_scop_exit_edge. 9050 90512010-01-20 Felyza Wishbringer <fwishbringer@gmail.com> 9052 9053 PR bootstrap/42786 9054 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx 9055 cpu types. Add support for *-sse3 cpu types. 9056 (x86_64-*-*): Ditto. 9057 90582010-01-20 Jakub Jelinek <jakub@redhat.com> 9059 9060 PR middle-end/42803 9061 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE 9062 argument, call initializer_constant_valid_p_1 instead of 9063 initializer_constant_valid_p, pass CACHE to it, return NULL 9064 immediately if first call returns NULL. 9065 (initializer_constant_valid_p_1): New function. 9066 (initializer_constant_valid_p): Use it. 9067 90682010-01-20 Thomas Quinot <quinot@adacore.com> 9069 9070 * tree.def (PLACEHOLDER_EXPR): Fix comment. 9071 90722010-01-20 Jakub Jelinek <jakub@redhat.com> 9073 9074 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead 9075 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}. 9076 (loc_list_from_tree): Don't handle unsigned division. Handle 9077 signed modulo using DW_OP_{over,over,div,mul,minus}. 9078 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned 9079 modulo instead of signed. 9080 90812010-01-20 DJ Delorie <dj@redhat.com> 9082 9083 * config/h8300/h8300.c (F): Add "in_epilogue" flag. 9084 (Fpa): Pass it 9085 (h8300_emit_stack_adjustment): Propogate it. 9086 (push): Pass it. 9087 (h8300_expand_prologue): Likewise. 9088 (h8300_expand_epilogue): Likewise. 9089 90902010-01-19 Michael Matz <matz@suse.de> 9091 9092 PR tree-optimization/41783 9093 * tree-data-ref.c (toplevel): Include flags.h. 9094 (dump_data_dependence_relation): Also dump the inputs if the 9095 result will be unknown. 9096 (split_constant_offset_1): Look through some conversions. 9097 * tree-predcom.c (determine_roots_comp): Restart a new chain if 9098 the offset from last element is too large. 9099 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF. 9100 (reassociate_to_the_same_stmt): Handle vector registers. 9101 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations 9102 (e.g. conversions). 9103 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add 9104 wide_prolog_niters argument, emit widening instructions. 9105 (vect_do_peeling_for_alignment): Adjust caller, use widened 9106 variant of the iteration cound. 9107 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H). 9108 91092010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 9110 9111 PR target/38697 9112 * config/arm/neon-testgen.m (emit_automatics): New parameter 9113 features. Adjust for Fixed_return_reg feature. 9114 (test_intrinsic): Call emit_automatics with new feature. 9115 * config/arm/neon.ml: Update copyright years. 9116 (features): New Fixed_return_reg feature. 9117 (ops): Update feature for Vget_low. 9118 91192010-01-19 Jakub Jelinek <jakub@redhat.com> 9120 9121 PR tree-optimization/42719 9122 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug 9123 stmt uses. 9124 9125 PR debug/42728 9126 * fwprop.c (all_uses_available_at): Return false if def_set dest 9127 is a REG that is used in def_insn. 9128 91292010-01-19 Joern Rennecke <amylaar@spamcop.net> 9130 9131 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names. 9132 9133 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces. 9134 Add argument names. 9135 9136 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language. 9137 9138 * target.h (struct gcc_target) <secondary_reload>: Change type 9139 of last argument to secondary_reload_info *. 9140 91412010-01-18 Uros Bizjak <ubizjak@gmail.com> 9142 9143 PR target/42774 9144 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for 9145 memory references with unaligned offsets. Remove CQImode handling. 9146 (unaligned_memory_operand): Return 1 for memory references with 9147 unaligned offsets. Remove CQImode handling. 9148 91492010-01-18 Richard Guenther <rguenther@suse.de> 9150 9151 PR middle-end/39954 9152 * cfgexpand.c (expand_call_stmt): TER pointer arguments in 9153 builtin calls. 9154 91552010-01-18 Richard Guenther <rguenther@suse.de> 9156 9157 PR tree-optimization/42781 9158 * tree-ssa-structalias.c (find_what_var_points_to): Skip 9159 restrict processing only if the original variable was artificial. 9160 91612010-01-18 Joern Rennecke <amylaar@spamcop.net> 9162 9163 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to 9164 find number of popped argument bytes. 9165 9166 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces. 9167 Fix the text that describes the return value for invalid insns. 9168 9169 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list. 9170 9171 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types. 9172 Clarify what 'cost of the -dependence' is. Fix quoting. 9173 9174 * toplev.c (default_get_pch_validity): Rename argument to "sz". 9175 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise. 9176 91772010-01-17 Jakub Jelinek <jakub@redhat.com> 9178 9179 * dwarf2out.c (mem_loc_descriptor): Don't ICE on 9180 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}. 9181 91822010-01-17 Richard Guenther <rguenther@suse.de> 9183 9184 PR middle-end/42248 9185 * function.c (split_complex_args): Take a VEC to modify. 9186 (assign_parms_augmented_arg_list): Build a VEC instead of 9187 a chain of PARM_DECLs. 9188 (assign_parms_unsplit_complex): Take a VEC of arguments. 9189 Do not fixup unmodified parms. 9190 (assign_parms): Deal with the VEC. 9191 (gimplify_parameters): Likewise. 9192 91932010-01-17 Richard Guenther <rguenther@suse.de> 9194 9195 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI 9196 node existence check. 9197 * tree-vect-loop.c (vect_analyze_loop_form): Likewise. 9198 * tree-cfgcleanup.c (merge_phi_nodes): Likewise. 9199 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise. 9200 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise. 9201 (gimple_execute_on_growing_pred): Likewise. 9202 92032010-01-17 Richard Guenther <rguenther@suse.de> 9204 9205 PR tree-optimization/42773 9206 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence. 9207 (compute_antic_aux): Likewise. 9208 (compute_partial_antic_aux): Likewise. 9209 92102010-01-17 Jie Zhang <jie.zhang@analog.com> 9211 9212 PR debug/42767 9213 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE 9214 and US_TRUNCATE. 9215 92162010-01-17 Joern Rennecke <amylaar@spamcop.net> 9217 9218 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of 9219 appearance. 9220 9221 (TARGET_LEGITIMATE_ADDRESS_P): Add return type. 9222 Fix markup for strict argument. 9223 9224 (TARGET_SCHED_REORDER2): Fix argument types. 9225 9226 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type. 9227 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise. 9228 9229 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name. 9230 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise. 9231 9232 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): 9233 Add argument name. 9234 9235 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation. 9236 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise. 9237 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise. 9238 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise. 9239 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise. 9240 9241 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo. 9242 9243 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name. 9244 9245 (TARGET_ASM_RELOC_RW_MASK): Add return type. 9246 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type. 9247 9248 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter. 9249 9250 (TARGET_ASM_FILE_START): Put @findex before paragraph start. 9251 Use prototype. 9252 9253 (TARGET_ASM_NAMED_SECTION): Fix argument list. 9254 9255 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr. 9256 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise. 9257 9258 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr. 9259 9260 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types. 9261 9262 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup 9263 referring to it. Fix language. 9264 9265 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr. 9266 9267 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument. 9268 9269 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types. 9270 9271 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument. 9272 9273 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and 9274 '@var{stream}. Remove stray 'and'. 9275 9276 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr. 9277 9278 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument. 9279 9280 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article. 9281 9282 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was 9283 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P. 9284 9285 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces. 9286 Fix description of return value. 9287 Rename argument "sz" to "len." 9288 9289 (TARGET_CXX_GUARD_MASK_BIT): Add missing article. 9290 Clarify meaning of 'true' return value. 9291 9292 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type. 9293 9294 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of 9295 rep_mode versus mode_rep. 9296 9297 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document. 9298 9299 (TARGET_BUILTIN_DECL): Fix name. 9300 9301 (TARGET_COMMUTATIVE_P): Fix type of first argument. 9302 9303 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL. 9304 9305 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type. 9306 9307 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook. 9308 9309 (TARGET_RELAXED_ORDERING): Use @deftypevr. 9310 9311 (TARGET_GET_DRAP_RTX): Note that this is a hook. 9312 Clarify language. 9313 9314 (TARGET_BUILTIN_RECIPROCAL): Fix argument types. 9315 Rename argument tm_fn to md_fn. 9316 9317 (TARGET_OPTION_PRINT): Fix argument list. 9318 93192010-01-16 Harsha Jagasia <harsha.jagasia@amd.com> 9320 9321 PR target/42664 9322 * config/i386/i386.c (ix86_fixup_binary_operands): 9323 Revert FMA4 fixup of operands. 9324 93252010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 9326 9327 PR gcc/42525 9328 * Makefile.in (write_entries_to_file, install-plugin): 9329 Use \012 instead of \n with tr. 9330 93312010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com> 9332 9333 * configure.ac (HAVE_AS_REF): New C macro. 9334 * configure: Regenerate. 9335 * config.in: Likewise. 9336 * collect2.c (main): Only postpone SCAN_DWEH to the second pass 9337 if HAVE_AS_REF. 9338 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define 9339 if HAVE_AS_REF. 9340 93412010-01-16 Joern Rennecke <amylaar@spamcop.net> 9342 9343 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types. 9344 9345 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types. 9346 9347 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types. 9348 9349 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces. 9350 9351 (TARGET_IN_SMALL_DATA_P): Fix argument type. 9352 9353 (TARGET_BINDS_LOCAL_P): Fix argument type. 9354 9355 (TARGET_ASM_FILE_END): Use prototype. 9356 9357 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces. 9358 9359 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type. 9360 9361 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types. 9362 9363 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type. 9364 9365 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces. 9366 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise. 9367 9368 (TARGET_PCH_VALID_P): Put 'const char *' in braces. 9369 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise. 9370 9371 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces. 9372 (TARGET_ADDR_SPACE_SUBSET_P): Likewise. 9373 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces. 9374 (TARGET_ADDR_SPACE_CONVERT): Likewise. 9375 9376 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces. 9377 9378 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype. 9379 9380 (TARGET_INIT_BUILTINS): Use prototype. 9381 9382 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN): 9383 Put 'const char *' in braces. Fix parameter types. 9384 (TARGET_INVALID_CONVERSION): Fix parameter types. 9385 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise. 9386 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise. 9387 9388 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'. 9389 Fix argument type. 9390 9391 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'. 9392 9393 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'. 9394 93952010-01-15 Joern Rennecke <amylaar@spamcop.net> 9396 9397 * doc/tm.texi (TARGET_HELP): Fix return type. 9398 9399 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode' 9400 in braces. Fix argument types. 9401 9402 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype. 9403 9404 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype. 9405 9406 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type. 9407 9408 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces. 9409 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise. 9410 9411 (TARGET_MANGLE_TYPE): Fix argument types. 9412 9413 (TARGET_IRA_COVER_CLASSES): Use prototype. 9414 9415 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype. 9416 9417 (TARGET_CAN_ELIMINATE): Use identifiers for argument names. 9418 9419 (TARGET_PROMOTE_PROTOTYPES): Fix argument type. 9420 9421 (TARGET_MUST_PASS_IN_STACK): Fix argument type. 9422 9423 (TARGET_CALLEE_COPIES): Fix argument types. 9424 9425 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type. 9426 9427 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types. 9428 9429 (TARGET_FUNCTION_VALUE): Fix argument types. 9430 9431 (TARGET_RETURN_IN_MSB): Fix argument type. 9432 9433 (TARGET_RETURN_IN_MEMORY): Fix argument types. 9434 9435 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types. 9436 9437 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type. 9438 9439 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text 9440 agree with return type. 9441 9442 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype. 9443 94442010-01-15 Jing Yu <jingyu@google.com> 9445 9446 PR rtl-optimization/42691 9447 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set 9448 a pseudo to a constant and are merged, and adjust comments. 9449 94502010-01-15 Eric Botcazou <ebotcazou@adacore.com> 9451 9452 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo. 9453 94542010-01-15 Richard Guenther <rguenther@suse.de> 9455 9456 PR middle-end/42739 9457 * tree-cfgcleanup.c (remove_forwarder_block): Move destination 9458 labels of computed or non-local gotos to the destination. 9459 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH 9460 landing pad label is the first label. 9461 94622010-01-15 Richard Guenther <rguenther@suse.de> 9463 9464 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru. 9465 94662010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com> 9467 9468 PR target/42747 9469 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn 9470 to allow generation of the xssqrtdp instruction on power7. 9471 (sqrtdf2_fpr): Ditto. 9472 94732010-01-14 Jakub Jelinek <jakub@redhat.com> 9474 9475 PR middle-end/42674 9476 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in 9477 functions with noreturn attribute. 9478 9479 PR c++/42608 9480 * varasm.c (declare_weak): Add weak attribute to decl if it 9481 doesn't have one already. 9482 (assemble_external): Only add decls to weak_decls if they also 9483 have weak attribute. 9484 94852010-01-14 Alexandre Oliva <aoliva@redhat.com> 9486 9487 * var-tracking.c (var_reg_delete): Don't delete the association 9488 between REGs and values or one-part variables if the register 9489 isn't clobbered. 9490 94912010-01-14 Jakub Jelinek <jakub@redhat.com> 9492 9493 PR debug/42657 9494 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just 9495 because its first operand is a non-localized variable. 9496 94972010-01-14 Martin Jambor <mjambor@suse.cz> 9498 9499 PR tree-optimization/42706 9500 * tree-sra.c (encountered_recursive_call): New variable. 9501 (encountered_unchangable_recursive_call): Likewise. 9502 (sra_initialize): Initialize both new variables. 9503 (callsite_has_enough_arguments_p): New function. 9504 (scan_function): Call decl and flags check only for IPA-SRA, check 9505 whether there is a recursive call and whether it has enough arguments. 9506 (all_callers_have_enough_arguments_p): New function. 9507 (convert_callers): Look for recursive calls only when 9508 encountered_recursive_call is set. 9509 (ipa_early_sra): Bail out either if 9510 !all_callers_have_enough_arguments_p or 9511 encountered_unchangable_recursive_call. 9512 95132010-01-14 Alexander Monakov <amonakov@ispras.ru> 9514 9515 * sel-sched.c: Add 2010 to copyright years. 9516 * sel-sched-ir.c: Likewise. 9517 * sel-sched-ir.h: Likewise. 9518 95192010-01-14 Martin Jambor <mjambor@suse.cz> 9520 9521 PR tree-optimization/42714 9522 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type 9523 constructors specially. 9524 95252010-01-14 Andi Kleen <ak@linux.intel.com> 9526 9527 * config/i386/drivers-i386.c (detect_caches_intel): 9528 Add l2sizekb parameter and fill in. 9529 (host_detect_local_cpu): Add l2sizekb, fill in. 9530 Add Atom small cache heuristic. 9531 95322010-01-14 Andi Kleen <ak@linux.intel.com> 9533 9534 * config/i386/drivers-i386.c (detect_caches_cpuid4): 9535 Add level3 parameter and fill in. 9536 (detect_caches_intel): Handle level3 cache. 9537 95382010-01-14 Andi Kleen <ak@linux.intel.com> 9539 9540 * config/i386/drivers-i386.c (host_detect_local_cpu): 9541 Fix core duo detection. 9542 95432010-01-14 Andi Kleen <ak@linux.intel.com> 9544 9545 * config/i386/drivers-i386.c (host_detect_local_cpu): 9546 Fix Atom detection. 9547 95482010-01-14 Alexander Monakov <amonakov@ispras.ru> 9549 9550 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to... 9551 (rs6000_variable_issue_1): this. Use... 9552 (rs6000_variable_issue): here. Reimplement. Print debug info. 9553 95542010-01-14 Alexander Monakov <amonakov@ispras.ru> 9555 9556 * sel-sched-ir.c (sel_restore_other_notes): Rename to 9557 sel_restore_notes. Update all callers. Call reemit_notes 9558 for all insns. 9559 95602010-01-14 Andrey Belevantsev <abel@ispras.ru> 9561 9562 PR rtl-optimization/42246 9563 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner 9564 loops. 9565 95662010-01-14 Andrey Belevantsev <abel@ispras.ru> 9567 9568 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of 9569 all successors is the same as number of successors in current region. 9570 95712010-01-14 Alexander Monakov <amonakov@ispras.ru> 9572 9573 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression 9574 to rename is not separable. Otherwise check that its LHS is not NULL. 9575 95762010-01-14 Alexander Monakov <amonakov@ispras.ru> 9577 9578 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode. 9579 95802010-01-14 Alexander Monakov <amonakov@ispras.ru> 9581 9582 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search 9583 available registers when failed to discover LHS register class. 9584 Fix indentation. Update comment. 9585 95862010-01-14 Andrey Belevantsev <abel@ispras.ru> 9587 Alexander Monakov <amonakov@ispras.ru> 9588 9589 PR rtl-optimization/42389 9590 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE 9591 to can_issue_more. 9592 (advance_state_on_fence): Likewise. 9593 (sel_target_adjust_priority): Print debug output only when 9594 sched_verbose >= 4, not 2. 9595 (get_expr_cost): Do not issue all unique insns on the next cycle. 9596 (fill_insns): Initialize can_issue_more from the value saved 9597 with the fence. 9598 * sel-sched-ir.c (flist_add): New parameter issue_more. 9599 Init FENCE_ISSUE_MORE with it. 9600 (merge_fences): Likewise. 9601 (init_fences): Update call to flist_add. 9602 (add_to_fences, add_clean_fence_to_fences) 9603 (add_dirty_fence_to_fences): Likewise. 9604 (move_fence_to_fences): Update call to merge_fences. 9605 (invoke_reorder_hooks): Do not reset can_issue_more on insns from 9606 sched groups. 9607 * sel-sched-ir.h (struct _fence): New field issue_more. 9608 (FENCE_ISSUE_MORE): New accessor macro. 9609 96102010-01-14 Andrey Belevantsev <abel@ispras.ru> 9611 9612 PR rtl-optimization/42388 9613 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks 9614 that have no predecessors nor successors. Do not call move_bb_info 9615 for empty blocks outside of current region. 9616 96172010-01-14 Alexander Monakov <amonakov@ispras.ru> 9618 9619 PR rtl-optimization/42294 9620 * sel-sched-ir.h (struct _sel_insn_data): Update comment. 9621 * sel-sched.c (move_exprs_to_boundary): Transitively add all 9622 originators' originators. 9623 96242010-01-14 Alexander Monakov <amonakov@ispras.ru> 9625 9626 PR rtl-optimization/39453 9627 PR rtl-optimization/42246 9628 * sel-sched-ir.c (considered_for_pipelining_p): Do not test 9629 for pipelining_p. 9630 (sel_add_loop_preheaders): Add preheader to last_added_blocks. 9631 96322010-01-14 Andrey Belevantsev <abel@ispras.ru> 9633 Alexander Monakov <amonakov@ispras.ru> 9634 9635 PR middle-end/42245 9636 * sel-sched-ir.c (sel_recompute_toporder): New. Use it... 9637 (maybe_tidy_empty_bb): ... here. Make static. Add new 9638 argument. Update all callers. 9639 (tidy_control_flow): ... and here. Recompute topological order 9640 of basic blocks in region if necessary. 9641 (sel_redirect_edge_and_branch): Change return type. Return true 9642 if topological order might have been invalidated. 9643 (purge_empty_blocks): Export and move from... 9644 * sel-sched.c (purge_empty_blocks): ... here. 9645 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype. 9646 (maybe_tidy_empty_bb): Delete prototype. 9647 (purge_empty_blocks): Declare. 9648 96492010-01-14 Andrey Belevantsev <abel@ispras.ru> 9650 9651 PR rtl-optimization/42249 9652 * sel-sched.c (try_replace_dest_reg): When chosen register 9653 and original register is the same, do not bail out early, but 9654 still check all original insns for validity of replacing destination 9655 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function 9656 in this case. 9657 96582010-01-14 Jakub Jelinek <jakub@redhat.com> 9659 9660 PR c/42721 9661 Port from no-undefined-overflow branch: 9662 2009-03-09 Richard Guenther <rguenther@suse.de> 9663 9664 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection. 9665 96662010-01-14 Richard Guenther <rguenther@suse.de> 9667 9668 PR lto/42665 9669 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node. 9670 96712010-01-14 Ira Rosen <irar@il.ibm.com> 9672 9673 PR tree-optimization/42709 9674 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type 9675 as scalar type in creation of constant vector operand. 9676 96772010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 9678 9679 PR testsuite/42414 9680 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%) 9681 (check-parallel-%): Match `testsuite' directory component only 9682 at the end. 9683 96842010-01-14 Shujing Zhao <pearly.zhao@oracle.com> 9685 9686 PR translation/39521 9687 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs 9688 strings with _(). 9689 96902010-01-13 Richard Guenther <rguenther@suse.de> 9691 9692 PR tree-optimization/42730 9693 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for 9694 offset zero. 9695 96962010-01-13 Steve Ellcey <sje@cup.hp.com> 9697 9698 PR target/pr42542 9699 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT 9700 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make 9701 them signed. 9702 97032010-01-13 Bernd Schmidt <bernd.schmidt@analog.com> 9704 9705 * config/bfin/libgcc-bfin.ver: Regenerate based on current 9706 libgcc-std.ver. Add entries for ___smulsi3_highpart and 9707 ___umulsi3_highpart. 9708 9709 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling 9710 rather than schedule_insns if the pass is enabled. 9711 97122010-01-13 Martin Jambor <mjambor@suse.cz> 9713 9714 PR tree-optimization/42704 9715 * tree-sra.c (sra_modify_assign): Do not delete assignments to 9716 SSA_NAMEs. 9717 97182010-01-13 Martin Jambor <mjambor@suse.cz> 9719 9720 PR tree-optimization/42703 9721 * tree-sra.c (analyze_access_subtree): Check that we can build a 9722 reference to the original data within the aggregate. 9723 97242010-01-13 Richard Guenther <rguenther@suse.de> 9725 9726 PR tree-optimization/42705 9727 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels. 9728 97292010-01-13 Richard Guenther <rguenther@suse.de> 9730 9731 PR middle-end/42716 9732 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs. 9733 97342010-01-13 Jakub Jelinek <jakub@redhat.com> 9735 9736 PR debug/41371 9737 * var-tracking.c (values_to_unmark): New variable. 9738 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in 9739 values_to_unmark vector. Moved body to... 9740 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO, 9741 instead queue it into values_to_unmark vector. 9742 (vt_find_locations): Free values_to_unmark vector. 9743 97442010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com> 9745 9746 * config/s390/s390.c (override_options): Set 9747 default of max-pending-list-length to 256 9748 97492010-01-13 Richard Guenther <rguenther@suse.de> 9750 9751 PR lto/42678 9752 * tree-pass.h (PROP_gimple_lcx): New. 9753 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx. 9754 * passes.c (init_optimization_passes): Move pass_lower_complex_O0 9755 before the final cleanup_eh. 9756 (dump_properties): Dump PROP_gimple_lcx. 9757 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx. 9758 (tree_lower_complex_O0): Remove. 9759 (gate_no_optimization): Run if PROP_gimple_lcx is not set. 9760 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run 9761 tree_lower_complex, schedule TODO_update_ssa. 9762 * lto-streamer-out.c (output_function): Stream the functions 9763 properties. 9764 * lto-streamer-in.c (input_function): Likewise. 9765 (lto_read_body): Do not override them here. 9766 97672010-01-12 Joseph Myers <joseph@codesourcery.com> 9768 9769 PR c/42708 9770 * c-typeck.c (build_c_cast): Fold value cast to union type before 9771 wrapping it in a CONSTRUCTOR. 9772 97732010-01-12 Jakub Jelinek <jakub@redhat.com> 9774 9775 PR rtl-optimization/42699 9776 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are 9777 involved. 9778 97792010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 9780 9781 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC, 9782 SUBTARGET_WARN_UNUSED_SPEC): Move ... 9783 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC, 9784 SUBTARGET_WARN_UNUSED_SPEC): ... here 9785 * config/mips/iris5.h (LIBGCC_SPEC): Define. 9786 97872010-01-12 Julian Brown <julian@codesourcery.com> 9788 9789 * config/arm/neon-schedgen.ml (Utils): Don't try to 9790 open missing module. 9791 (find_with_result): New. 9792 97932010-01-12 Jakub Jelinek <jakub@redhat.com> 9794 9795 PR debug/42662 9796 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx 9797 sharing when canonicalizing ({lt,ge}u (plus a b) b). 9798 9799 PR tree-optimization/42645 9800 * tree-inline.c (processing_debug_stmt): Move earlier. Make static. 9801 (remap_ssa_name): If processing_debug_stmt and name wasn't found in 9802 decl_map, set processing_debug_stmt to -1 and return name without 9803 any remapping. 9804 98052010-01-11 Dave Korn <dave.korn.cygwin@gmail.com> 9806 9807 * doc/install.texi (Specific#x-x-cygwin): Document minimum required 9808 binutils version, and reword target configuration description. 9809 98102010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org> 9811 9812 * config/avr/avr.h (LINKER_NAME): Remove. 9813 98142010-01-11 Janis Johnson <janis187@us.ibm.com> 9815 9816 PR target/42416 9817 * config/rs6000/rs6000.c (rs6000_override_options): On targets 9818 that support VSX, warn for -mno-altivec if vsx is not disabled, 9819 and disable vsx. 9820 98212010-01-11 Joseph Myers <joseph@codesourcery.com> 9822 Shujing Zhao <pearly.zhao@oracle.com> 9823 9824 PR translation/42469 9825 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=, 9826 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab 9827 character between option name and help text. 9828 * c.opt (imultilib): Likewise. 9829 98302010-01-10 Rafael Avila de Espindola <espindola@google.com> 9831 9832 * lto-streamer-out.c (output_unreferenced_globals): Output static 9833 variables. 9834 98352010-01-10 Steven Bosscher <steven@gcc.gnu.org> 9836 9837 PR rtl-optimization/42621 9838 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not 9839 optimizing for size. 9840 (duplicate_computed_gotos): Remove now-redundant check. 9841 98422010-01-10 Steve Ellcey <sje@cup.hp.com> 9843 9844 PR target/37454 9845 * configure.ac: Save and restore LDFLAGS and LIBS 9846 * configure: Regenerate. 9847 98482010-01-10 Richard Guenther <rguenther@suse.de> 9849 9850 PR middle-end/42667 9851 * builtins.c (fold_builtin_strlen): Add type argument and 9852 convert the resulting length to it. 9853 (fold_builtin_1): Adjust. 9854 98552010-01-09 Jakub Jelinek <jakub@redhat.com> 9856 9857 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten 9858 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by 9859 1 insn. 9860 (num_insns_constant_wide): Adjust for that change. 9861 98622010-01-09 Alexandre Oliva <aoliva@redhat.com> 9863 9864 PR debug/42631 9865 * web.c (union_defs): Add used argument, to combine uses of 9866 uninitialized regs. 9867 (entry_register): Adjust type and tests of used argument. 9868 (web_main): Widen used for new use. Pass it to union_defs. 9869 * df.h (union_defs): Adjust prototype. 9870 98712010-01-09 Alexandre Oliva <aoliva@redhat.com> 9872 9873 PR debug/42630 9874 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug 9875 uses in new incoming argument. Free body. 9876 (reset_debug_uses_in_loop): New. 9877 (analyze_insn_to_expand_var): Call the latter if the former found 9878 anything. Fix whitespace. Reject invalid dest overlaps before 9879 going through all insns in the loop. 9880 98812010-01-09 Alexandre Oliva <aoliva@redhat.com> 9882 9883 PR debug/42629 9884 * haifa-sched.c (dying_use_p): Debug insns don't count. 9885 98862010-01-09 Alexandre Oliva <aoliva@redhat.com> 9887 9888 PR middle-end/42363 9889 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls. 9890 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice. 9891 (verify_gimple_call): Reject LHS in noreturn calls. 9892 98932010-01-09 Alexandre Oliva <aoliva@redhat.com> 9894 9895 PR debug/42604 9896 PR debug/42395 9897 * tree-vect-loop-manip.c (adjust_info): New type. 9898 (adjust_vec): New pointer to vector. 9899 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New. 9900 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New. 9901 (slpeel_update_phis_for_duplicate_loop): Use them. 9902 (slpeel_update_phi_nodes_for_guard1): Likewise. 9903 (slpeel_update_phi_nodes_for_guard2): Likewise. 9904 (slpeel_tree_peel_loop_to_edge): Likewise. 9905 (vect_update_ivs_after_vectorizer): Likewise. 9906 99072010-01-09 Alexandre Oliva <aoliva@redhat.com> 9908 9909 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren. 9910 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise. 9911 99122010-01-09 Alexandre Oliva <aoliva@redhat.com> 9913 9914 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence 9915 bogus uninitialized warning. 9916 99172010-01-09 Richard Guenther <rguenther@suse.de> 9918 9919 PR middle-end/42512 9920 * tree-scalar-evolution.c (interpret_loop_phi): Make sure 9921 the evolution is compatible with the initial condition. 9922 99232010-01-09 Jakub Jelinek <jakub@redhat.com> 9924 9925 * gcc.c (process_command): Update copyright notice dates. 9926 * gcov.c (print_version): Likewise. 9927 * gcov-dump.c (print_version): Likewise. 9928 * mips-tfile.c (main): Likewise. 9929 * mips-tdump.c (main): Likewise. 9930 99312010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org> 9932 9933 PR target/41885 9934 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check. 9935 (rotlhi3): Delete. 9936 (rotlhi3_8): Delete. 9937 (rotlsi3): Delete. 9938 (rotlsi3_8): Delete. 9939 (rotlsi3_16): Delete. 9940 (rotlsi3_24): Delete. 9941 (rotl<mode>3): New. 9942 (*rotw<mode>3): New. 9943 (*rotb<mode>3): New. 9944 * config/avr/avr.c (avr_rotate_bytes): New function. 9945 * config/avr/avr-proto.h (avr_rotate_bytes): New function. 9946 99472010-01-08 Steve Ellcey <sje@cup.hp.com> 9948 9949 PR target/37454 9950 * configure.ac: Modify -rdynamic check. 9951 * configure: Regenerate. 9952 99532010-01-08 DJ Delorie <dj@redhat.com> 9954 9955 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler 9956 register popping order. 9957 99582010-01-08 Richard Guenther <rguenther@suse.de> 9959 9960 PR lto/42528 9961 * c.opt (fsigned-char): Also let LTO handle this option. 9962 (funsigned-char): Likewise. 9963 99642010-01-07 Richard Guenther <rguenther@suse.de> 9965 9966 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING. 9967 (gimple_op): Likewise. 9968 (gimple_op_ptr): Likewise. 9969 (gimple_assign_set_lhs): Remove gcc_assert. 9970 (gimple_assign_set_rhs1): Likewise. 9971 (gimple_assign_set_rhs2): Likewise. 9972 (gimple_call_set_lhs): Likewise. 9973 (gimple_call_set_fn): Likewise. 9974 (gimple_call_set_fndecl): Likewise. 9975 (gimple_call_fndecl): Likewise. 9976 (gimple_call_return_type): Likewise. 9977 (gimple_call_set_chain): Likewise. 9978 (gimple_call_num_args): Likewise. 9979 (gimple_call_set_arg): Likewise. 9980 (gimple_cond_set_code): Likewise. 9981 (gimple_cond_set_lhs): Likewise. 9982 (gimple_cond_set_rhs): Likewise. 9983 (gimple_cond_set_true_label): Likewise. 9984 (gimple_cond_set_false_label): Likewise. 9985 (gimple_label_set_label): Likewise. 9986 (gimple_goto_set_dest): Likewise. 9987 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING. 9988 (gimple_debug_bind_get_value): Likewise. 9989 (gimple_debug_bind_get_value_ptr): Likewise. 9990 (gimple_debug_bind_set_var): Likewise. 9991 (gimple_debug_bind_set_value): Likewise. 9992 (gimple_debug_bind_reset_value): Likewise. 9993 (gimple_debug_bind_has_value_p): Likewise. 9994 (gimple_return_retval_ptr): Remove gcc_assert. 9995 (gimple_return_retval): Likewise. 9996 (gimple_return_set_retval): Likewise. 9997 * tree-flow.h (struct gimple_df): Remove nonlocal_all member. 9998 (safe_referenced_var_iterator): Remove. 9999 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise. 10000 * tree-flow-inline.h (gimple_nonlocal_all): Remove. 10001 (fill_referenced_var_vec): Remove. 10002 (first_readonly_imm_use): Remove redundant gcc_assert. 10003 (phi_arg_index_from_use): Combine gcc_asserts. 10004 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING. 10005 (first_imm_use_stmt): Remove redundant gcc_assert. 10006 * tree-cfg.c (verify_gimple_call): Verify function and chain 10007 operands. Verify arguments. 10008 (verify_types_in_gimple_stmt): Verify condition code and labels. 10009 100102010-01-07 Richard Guenther <rguenther@suse.de> 10011 10012 PR tree-optimization/42641 10013 * sese.c (rename_map_elt_info): Use the SSA name version, do 10014 not hash pointers. 10015 100162010-01-07 Jakub Jelinek <jakub@redhat.com> 10017 10018 PR tree-optimization/42625 10019 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*, 10020 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases. 10021 100222010-01-07 Duncan Sands <baldrick@free.fr> 10023 10024 * Makefile.in (PLUGIN_HEADERS): Add version.h. 10025 100262010-01-07 Uros Bizjak <ubizjak@gmail.com> 10027 10028 PR target/42511 10029 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when 10030 note itself is not function_invariant_p. 10031 100322009-01-07 Steven Bosscher <steven@gcc.gnu.org> 10033 10034 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist): 10035 Do not add the DF_NOTE problem. 10036 * store-motion.c (execute_rtl_store_motion): Likewise. 10037 100382010-01-07 Martin Jambor <mjambor@suse.cz> 10039 10040 PR tree-optimization/42157 10041 * tree-sra.c (compare_access_positions): Stabilize sort if both 10042 accesses have integer types, return zero immediately if they are the 10043 same. 10044 100452010-01-06 Richard Henderson <rth@redhat.com> 10046 10047 PR middle-end/41883 10048 * haifa-sched.c (add_to_note_list): Merge into ... 10049 (concat_note_lists): ... here, and ... 10050 (unlink_other_notes, rm_other_notes): Merge into... 10051 (remove_notes): ... here. Create REG_SAVE_NOTEs for 10052 NOTE_INSN_EPILOGUE_BEG. 10053 100542010-01-06 Richard Guenther <rguenther@suse.de> 10055 10056 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do 10057 not inline regular functions into always-inline functions. 10058 100592010-01-06 Nick Clifton <nickc@redhat.com> 10060 10061 * config/rx/rx.h (enum rx_cpu_type): Add RX200. 10062 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are 10063 used together. 10064 (OVERRIDE_OPTIONS): Delete. 10065 (OPTIMIZATION_OPTIONS): Define. 10066 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option. 10067 * config/rx/rx.c (rx_handle_option): Issue an error message if 10068 -mcpu=rx200 and -fpu are used together. 10069 (rx_set_optimization_options): New function. Issue an error 10070 message if an optimization attribute attempts to reset the FPU/ 10071 math optimization pairing. 10072 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype. 10073 * config/rx/rx.opt: Set the default to 32-bit doubles. 10074 * config/rx/t-rx: Add multilibs for -nofpu option. 10075 * doc/invoke.texi: Update documentation of RX options. 10076 100772010-01-06 Richard Guenther <rguenther@suse.de> 10078 10079 * tree-ssa-pre.c (name_to_id): New global. 10080 (alloc_expression_id): Simplify SSA name handling. 10081 (lookup_expression_id): Likewise. 10082 (init_pre): Zero name_to_id. 10083 (fini_pre): Free it. 10084 100852010-01-06 Uros Bizjak <ubizjak@gmail.com> 10086 10087 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM. 10088 100892010-01-05 H.J. Lu <hongjiu.lu@intel.com> 10090 10091 PR target/42542 10092 * config/i386/sse.md (smaxv2di3): New. 10093 (umaxv2di3): Likewise. 10094 (sminv2di3): Likewise. 10095 (uminv2di3): Likewise. 10096 100972010-01-05 Eric Botcazou <ebotcazou@adacore.com> 10098 10099 PR target/42564 10100 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete. 10101 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise. 10102 (legitimize_tls_address): Likewise. 10103 (sparc_tls_referenced_p): Likewise. 10104 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address 10105 and adjust calls to legitimize_pic_address. 10106 (legitimate_constant_p) Use sparc_tls_referenced_p. 10107 (legitimate_pic_operand_p): Likewise. 10108 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P. 10109 (sparc_tls_symbol_ref_1): Delete. 10110 (sparc_tls_referenced_p): Make static, recognize specific patterns. 10111 (legitimize_tls_address): Make static, handle CONST patterns. 10112 (legitimize_pic_address): Make static, remove unused parameter and 10113 adjust recursive calls. 10114 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p 10115 and adjust call to legitimize_pic_address. 10116 (sparc_output_mi_thunk): Likewise. 10117 101182010-01-05 Paolo Bonzini <bonzini@gnu.rg> 10119 H.J. Lu <hongjiu.lu@intel.com> 10120 10121 PR target/42542 10122 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT 10123 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both 10124 operands to make them signed. 10125 10126 Revert: 10127 2010-01-04 H.J. Lu <hongjiu.lu@intel.com> 10128 10129 PR target/42542 10130 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert 10131 GTU to GT for V4SI and V2DI. 10132 10133 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP. 10134 (umin<mode>3): Removed. 10135 (uminv8hi3): New. 10136 (uminv4si3): Likewise. 10137 101382010-01-05 Martin Jambor <mjambor@suse.cz> 10139 10140 PR tree-optimization/42462 10141 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of 10142 current_function_decl to helper functions and macros. 10143 101442010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 10145 10146 PR bootstrap/41771 10147 * flags.h: Don't include real.h. 10148 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS, 10149 HONOR_SIGN_DEPENDENT_ROUNDING): Move ... 10150 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, 10151 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here. 10152 * dominance.c: Update copyright. 10153 * gimple.c (walk_gimple_op): Remove inline. 10154 * tree-ssa-reassoc.c: Include real.h. 10155 * Makefile.in (FLAGS_H): Remove $(REAL_H). 10156 (tree-ssa-reassoc.o): Depend on $(REAL_H). 10157 101582010-01-05 Nick Clifton <nickc@redhat.com> 10159 10160 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second 10161 register to push into the stack frame when the accumulator has to 10162 be saved during interrupts. 10163 101642010-01-05 Eric Fisher <joefoxreal@gmail.com> 10165 10166 * doc/invoke.texi: Remove the documentation about option 10167 -Wunreachable-code. 10168 * common.opt (Wunreachable-code): Preserved for backward 10169 compatibility. 10170 * tree-cfg.c: Remove the implementation of -Wunreachable-code. 10171 * opts.c (common_handle_option): Add OPT_Wunreachable_code to 10172 the backward compatibility flag section. 10173 101742010-01-05 Richard Guenther <rguenther@suse.de> 10175 10176 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize. 10177 101782010-01-05 Jakub Jelinek <jakub@redhat.com> 10179 10180 PR other/42611 10181 * cfgexpand.c (expand_one_var): Diagnose too large variables. 10182 10183 PR tree-optimization/42508 10184 * tree-sra.c (convert_callers): Check for recursive call 10185 by comparing cgraph nodes instead of decls. 10186 (modify_function): Call ipa_modify_formal_parameters also 10187 on all same_body aliases. 10188 10189 * cgraphunit.c (cgraph_materialize_all_clones): Compare 10190 cgraph nodes when checking for same_body aliases. 10191 101922010-01-05 Richard Guenther <rguenther@suse.de> 10193 10194 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant 10195 allocation and lookup. 10196 (get_or_alloc_expr_for_constant): Likewise. 10197 (phi_translate): Sink allocation. 10198 101992010-01-04 Richard Guenther <rguenther@suse.de> 10200 10201 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate 10202 a new entry only if needed. 10203 * tree-ssa-dom.c (lookup_avail_expr): Likewise. 10204 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one 10205 hashtable lookup. 10206 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate 10207 the result array. 10208 (phi_translate): Handle CONSTANTs early. 10209 102102010-01-04 Martin Jambor <mjambor@suse.cz> 10211 10212 PR tree-optimization/42398 10213 * tree-sra.c (struct access): Removed flag grp_different_types. 10214 (dump_access): Do not dump the removed flag. 10215 (sort_and_splice_var_accesses): Do not set the removed flag. 10216 (sra_modify_expr): Check for type compatibility directly. 10217 102182010-01-04 Martin Jambor <mjambor@suse.cz> 10219 10220 PR tree-optimization/42366 10221 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on 10222 edges with variable number of parameters. 10223 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done 10224 flag instead of asserting it. 10225 (ipa_read_node_info): Read uses_analysis_done flag. 10226 102272010-01-04 Richard Guenther <rguenther@suse.de> 10228 10229 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use 10230 iterative_hash_* as intended. 10231 (vn_reference_compute_hash): Likewise. Simplify hashing 10232 SSA names. 10233 (vn_reference_lookup_2): Likewise. 10234 (vn_nary_op_compute_hash): Likewise. 10235 (vn_phi_compute_hash): Likewise. 10236 (expressions_equal_p): Remove strange code. 10237 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable (). 10238 (pre_expr_hash): Likewise. Simplify hashing SSA names. 10239 (bitmap_insert_into_set_1): Take value-id as parameter. 10240 (add_to_value): Pass it. 10241 (bitmap_insert_into_set): Likewise. 10242 (bitmap_value_insert_into_set): Likewise. Remove redundant check. 10243 102442010-01-04 Jakub Jelinek <jakub@redhat.com> 10245 10246 PR driver/42442 10247 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define. 10248 (do_self_spec): For switches with SWITCH_IGNORE set set also 10249 SWITCH_IGNORE_PERMANENTLY. 10250 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead 10251 of SWITCH_IGNORE. 10252 102532010-01-04 Rafael Avila de Espindola <espindola@google.com> 10254 10255 * lto-streamer-out.c (output_unreferenced_globals): Output the full 10256 tree of an unreferenced global var. 10257 102582010-01-04 H.J. Lu <hongjiu.lu@intel.com> 10259 10260 PR target/42542 10261 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert 10262 GTU to GT for V4SI and V2DI. 10263 10264 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP. 10265 (umin<mode>3): Removed. 10266 (uminv8hi3): New. 10267 (uminv4si3): Likewise. 10268 102692010-01-04 H.J. Lu <hongjiu.lu@intel.com> 10270 10271 PR lto/42581 10272 * collect2.c (main): Turn on trace in collect2 if -v is passed 10273 to gcc with LTO. 10274 102752010-01-03 Jerry Quinn <jlquinn@optonline.net> 10276 10277 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update 10278 description of expression operand. 10279 102802010-01-03 Andrew Jenner <andrew@codesourcery.com> 10281 10282 * configure.ac: Add install-html to target_list for Make-hooks. 10283 * configure: Regenerate. 10284 * fortran/Make-lang.in (F95_HTMLFILES): New. 10285 (fortran.html): Use it. 10286 (fortran.install-html): New. 10287 * Makefile.in (install-html): Add lang.install-html. 10288 * java/Make-lang.in (JAVA_HTMLFILES): New. 10289 (java.html): Use it. 10290 (java.install-html): New. 10291 * objc/Make-lang.in (objc.install-html): New. 10292 * objcp/Make-lang.in (obj-c++.install-html): New. 10293 * cp/Make-lang.in (c++.install-html): New. 10294 * ada/gcc-interface/Make-lang.in (ada.install-html): New. 10295 * lto/Make-lang.in (lto.install-html): New. 10296 102972010-01-03 H.J. Lu <hongjiu.lu@intel.com> 10298 10299 PR lto/42520 10300 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt. 10301 103022009-01-03 Steven Bosscher <steven@gcc.gnu.org> 10303 10304 PR rtl-optimization/41862 10305 * store-motion.c (store_killed_in_insn, compute_store_table, 10306 remove_reachable_equiv_notes, replace_store_insn, 10307 build_store_vectors): Ignore all DEBUG_INSNs. 10308 103092010-01-03 H.J. Lu <hongjiu.lu@intel.com> 10310 10311 PR lto/41564 10312 * common.opt: Add dumpdir. 10313 10314 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase 10315 isn't specified. 10316 (option_map): Add --dumpdir. 10317 10318 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir. 10319 10320 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o. 10321 10322 * opts.c (decode_options): Try dump_dir_name first if 10323 dump_base_name isn't an absolute path. 10324 (common_handle_option): Handle OPT_dumpdir. 10325 10326 * toplev.c (dump_dir_name): New. 10327 (print_switch_values): Also ignore -dumpdir. 10328 10329 * toplev.h (dump_dir_name): New. 10330 103312010-01-03 Richard Guenther <rguenther@suse.de> 10332 10333 PR tree-optimization/42589 10334 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow 10335 double-word expansion of bswap32. 10336 103372010-01-03 Steven Bosscher <steven@gcc.gnu.org> 10338 10339 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM 10340 with BLOCK_FOR_INSN. 10341 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise. 10342 * ifcvt.c (noce_get_alt_condition, noce_try_abs, 10343 noce_process_if_block): Likewise. 10344 * gcse.c (compute_local_properties, insert_expr_in_table, 10345 insert_set_in_table, canon_list_insert, find_avail_set, 10346 pre_insert_copy_insn): Likewise. 10347 10348 * basic-block.h (BLOCK_NUM): Move from here... 10349 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler. 10350 103512010-01-03 Richard Guenther <rguenther@suse.de> 10352 10353 PR tree-optimization/42438 10354 * tree-ssa-pre.c (struct bb_bitmap_sets): Add 10355 contains_may_not_return_call flag. 10356 (BB_MAY_NOTRETURN): New. 10357 (valid_in_sets): Trapping nary operations are not valid 10358 in blocks that may not return. 10359 (insert_into_preds_of_block): Remove check for trapping expressions. 10360 (compute_avail): Compute also BB_MAY_NOTRETURN. 10361 103622010-01-03 Gerald Pfeifer <gerald@pfeifer.com> 10363 10364 * doc/invoke.texi: Add 2010 to copyright years. 10365 103662010-01-03 Eric Botcazou <ebotcazou@adacore.com> 10367 10368 * config/sparc/sparc.c: Fix formatting nits. 10369 103702010-01-02 Gerald Pfeifer <gerald@pfeifer.com> 10371 Alexander Monakov <amonakov@ispras.ru> 10372 10373 * doc/invoke.texi (Optimize Options): Reword introduction a bit. 10374 103752010-01-02 Richard Guenther <rguenther@suse.de> 10376 10377 PR middle-end/42577 10378 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks. 10379 (simplify_switch_using_ranges): Mark to be removed edges 10380 as non-executable. 10381 103822010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 10383 10384 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two. 10385 10386 * collect2.c (scan_libraries): Add missing argument in call to 10387 scan_prog_file. 10388 103892010-01-02 Uros Bizjak <ubizjak@gmail.com> 10390 10391 PR target/42448 10392 * config/alpha/predicates.md (aligned_memory_operand): Return false 10393 for CQImode. 10394 (unaligned_memory_operand): Return true for CQImode. 10395 * config/alpha/alpha.c (get_aligned_mem): Assert that location 10396 doesn not cross aligned SImode word boundary. 10397 103982010-01-02 Anatoly Sokolov <aesok@post.ru> 10399 10400 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_): 10401 Remove. 10402 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options, 10403 avr_change_section, avr_reg_class_from_letter) : Remove declaration. 10404 104052010-01-02 Richard Guenther <rguenther@suse.de> 10406 10407 PR lto/41597 10408 * toplev.c (compile_file): Emit LTO marker properly. Change 10409 it to __gnu_lto_v1. 10410 * collect2.c (scan_prog_file): Adjust for changed LTO marker. 10411 104122010-01-01 Richard Guenther <rguenther@suse.de> 10413 10414 PR debug/42455 10415 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order. 10416 104172010-01-01 Richard Guenther <rguenther@suse.de> 10418 10419 PR c/42570 10420 * c-decl.c (grokdeclarator): For zero-size arrays force 10421 structural equality checks as layout_type does. 10422 104232010-01-01 H.J. Lu <hongjiu.lu@intel.com> 10424 10425 * builtins.c: Update copyright to 2010. 10426 104272010-01-01 H.J. Lu <hongjiu.lu@intel.com> 10428 10429 PR lto/42531 10430 * lto-streamer-out.c (produce_asm): Revert the last change. 10431 (copy_function): Likewise. 10432 10433 * lto-streamer.c (lto_get_section_name): Skip any leading 10434 asterisk in name. 10435 104362010-01-01 Richard Guenther <rguenther@suse.de> 10437 10438 PR middle-end/42559 10439 * builtins.c (get_object_alignment): Do not use DECL_ALIGN 10440 for LABEL_DECLs. 10441 10442 10443Copyright (C) 2010 Free Software Foundation, Inc. 10444 10445Copying and distribution of this file, with or without modification, 10446are permitted in any medium without royalty provided the copyright 10447notice and this notice are preserved. 10448