12011-12-09 Kazu Hirata <kazu@codesourcery.com> 2 3 Backport from mainline: 4 5 2011-12-05 Kazu Hirata <kazu@codesourcery.com> 6 7 PR target/51408 8 * config/arm/arm.md (*minmax_arithsi): Always require the else 9 clause in the MINUS case. 10 112011-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 12 13 PR target/50691 14 * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references. 15 * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for 16 TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references. 17 182011-06-17 Hans-Peter Nilsson <hp@axis.com> 19 20 Backport from mainline 21 2011-06-17 Hans-Peter Nilsson <hp@axis.com> 22 23 PR rtl-optimization/48542 24 * reload.c (find_equiv_reg): Stop looking when finding a 25 setjmp-type call. 26 * reload1.c (reload_as_needed): Invalidate all reload 27 registers when crossing a setjmp-type call. 28 292011-04-28 Release Manager 30 31 * GCC 4.5.3 released. 32 332011-04-21 Richard Guenther <rguenther@suse.de> 34 35 PR middle-end/48712 36 Backport from 4.6 branch 37 2011-03-07 Zdenek Dvorak <ook@ucw.cz> 38 39 PR bootstrap/48000 40 * cfgloopmanip.c (fix_bb_placements): Return immediately 41 if FROM is BASE_LOOP's header. 42 432011-04-20 Richard Guenther <rguenther@suse.de> 44 45 Backport from 4.6 branch 46 2011-04-19 Bernd Schmidt <bernds@codesourcery.com> 47 48 PR fortran/47976 49 * reload1.c (inc_for_reload): Return void. All callers changed. 50 (emit_input_reload_insns): Don't try to delete previous output 51 reloads to a register, or record spill_reg_store for autoincs. 52 532011-04-19 Richard Guenther <rguenther@suse.de> 54 55 Backported from 4.6 branch 56 2011-03-29 Jakub Jelinek <jakub@redhat.com> 57 58 PR preprocessor/48248 59 * c-ppoutput.c (print): Add src_file field. 60 (init_pp_output): Initialize it. 61 (maybe_print_line): Don't optimize by adding up to 8 newlines 62 if map->to_file and print.src_file are different file. 63 (print_line): Update print.src_file. 64 65 2011-04-18 Richard Guenther <rguenther@suse.de> 66 67 PR preprocessor/48248 68 * c-ppoutput.c (maybe_print_line): Avoid changing -P behavior. 69 702011-04-19 Richard Guenther <rguenther@suse.de> 71 72 PR tree-optimization/46188 73 Backported from 4.6 branch 74 2010-05-26 Jan Hubicka <jh@suse.cz> 75 76 * cgraphunit.c (clone_of_p): Remove. 77 (verify_cgraph_node): Do not verify clones. 78 (cgraph_materialize_all_clones): Do no redirection here. 79 * ipa-inline.c (inline_transform): Do redirection here. 80 812011-04-18 Eric Botcazou <ebotcazou@adacore.com> 82 83 * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype. 84 852011-04-18 Richard Guenther <rguenther@suse.de> 86 87 Backported from 4.6 branch 88 2011-01-19 Jakub Jelinek <jakub@redhat.com> 89 90 PR tree-optimization/47290 91 * tree-eh.c (infinite_empty_loop_p): New function. 92 (cleanup_empty_eh): Use it. 93 94 2010-05-29 Jan Hubicka <jh@suse.cz> 95 96 PR tree-optimization/46364 97 * cgraphunit.c (cgraph_materialize_clone): Only remove calles, refs 98 and body; 99 not the whole node for masters of materialized clones. 100 1012011-04-18 Richard Guenther <rguenther@suse.de> 102 103 Backported from 4.6 branch 104 2011-03-05 Zdenek Dvorak <ook@ucw.cz> 105 106 PR rtl-optimization/47899 107 * cfgloopmanip.c (fix_bb_placements): Fix first argument 108 to flow_loop_nested_p when moving the loop upward. 109 110 2011-03-15 Richard Guenther <rguenther@suse.de> 111 112 PR middle-end/48031 113 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized 114 or variable-indexed array accesses when in gimple form. 115 1162011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 117 118 * config/pa/pa.h (REGISTER_MOVE_COST): Increase to 18 cost of 119 move from floating point to shift amount register. 120 121 Backport from mainline: 122 2011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 123 124 PR target/48366 125 * config/pa/pa.c (emit_move_sequence): Remove secondary reload 126 support for floating point to shift amount amount register copies. 127 (pa_secondary_reload): Return GENERAL_REGS for floating point/shift 128 amount register copies. 129 * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount 130 register, return false if mode isn't a scalar integer mode. 131 * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise. 132 1332011-04-16 Jakub Jelinek <jakub@redhat.com> 134 135 Backported from 4.6 branch 136 2011-04-15 Jakub Jelinek <jakub@redhat.com> 137 138 PR target/48605 139 * config/i386/sse.md (avx_insertps, sse4_1_insertps): If operands[2] 140 is a MEM, offset it as needed based on top 2 bits in operands[3], 141 change MEM mode to SFmode and mask those 2 bits away from operands[3]. 142 1432011-04-13 Nick Clifton <nickc@redhat.com> 144 145 * config/rx/rx.md (movmemsi): Do not use this pattern when 146 volatile pointers are involved. 147 1482011-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 149 150 Backport from mainline: 151 2011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 152 153 PR testsuite/47400 154 * doc/sourcebuild.texi (Require Support): Document 155 dg-require-ascii-locale. 156 1572011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> 158 159 Backport from mainline: 160 2011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> 161 PR target/48090 162 * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints. 163 1642011-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 165 166 Backport from mainline: 167 2011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 168 169 * config/alpha/osf.h (MAX_OFILE_ALIGNMENT): Define. 170 1712011-04-09 Duncan Sands <baldrick@free.fr> 172 173 * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set. 174 1752011-04-07 Uros Bizjak <ubizjak@gmail.com> 176 177 * config/i386/sse.md (avx_cmps<ssemodesuffixf2c><mode>3): Add 178 missing output register constraint. 179 (*vec_concatv2sf_avx): Fix wrong register constraint in 180 alternative 3 of operand 1. 181 (*vec_set<mode>_0_avx): Avoid combining registers from different 182 units in a single alternative. 183 (*vec_set<mode>_0_sse4_1): Ditto. 184 (*vec_set<mode>_0_sse2): Ditto. 185 (vec_set<mode>_0): Ditto. 186 (sse2_storehpd): Ditto. 187 (sse2_loadhpd): Ditto. 188 (sse4_1_insertps): Use nonimmediate_operand for operand 2. 189 * config/i386/predicates.md (sse_comparison_operator): Do not 190 define as special predicate. 191 1922011-04-07 Jakub Jelinek <jakub@redhat.com> 193 194 Backported from mainline 195 2011-04-06 Jakub Jelinek <jakub@redhat.com> 196 197 PR debug/48466 198 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use 199 as base_reg whatever register reg has been eliminated to, instead 200 of hardcoding STACK_POINTER_REGNUM. 201 202 2011-03-24 Jakub Jelinek <jakub@redhat.com> 203 204 PR debug/48204 205 * simplify-rtx.c (simplify_const_unary_operation): Call 206 real_convert when changing mode class with FLOAT_EXTEND. 207 208 2011-03-17 Jakub Jelinek <jakub@redhat.com> 209 210 PR rtl-optimization/48141 211 * dse.c (record_store): If no positions are needed in an insn 212 that cannot be deleted, at least unchain it from active_local_stores. 213 214 2011-03-03 Jakub Jelinek <jakub@redhat.com> 215 216 PR c/47963 217 * gimplify.c (omp_add_variable): Only call omp_notice_variable 218 on TYPE_SIZE_UNIT if it is a DECL. 219 220 2011-02-19 Jakub Jelinek <jakub@redhat.com> 221 222 PR c/47809 223 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR. 224 225 2011-01-26 Jakub Jelinek <jakub@redhat.com> 226 227 PR c/47473 228 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure 229 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of 230 REAL_TYPE. 231 2322011-04-07 Jakub Jelinek <jakub@redhat.com> 233 234 PR tree-optimization/47391 235 * tree-ssa-ccp.c (get_symbol_constant_value): Don't optimize 236 if sym is volatile. 237 238 Backported from mainline 239 2010-07-01 Richard Guenther <rguenther@suse.de> 240 241 * omp-low.c (scan_omp_1_op): Don't change type of INTEGER_CSTs 242 directly. 243 2442011-04-07 Andrey Belevantsev <abel@ispras.ru> 245 246 Backport from mainline 247 2011-03-26 Andrey Belevantsev <abel@ispras.ru> 248 249 PR rtl-optimization/48144 250 * sel-sched-ir.c (merge_history_vect): Factor out from ... 251 (merge_expr_data): ... here. 252 (av_set_intersect): Rename to av_set_code_motion_filter. 253 Update all callers. Call merge_history_vect when an expression 254 is found in both sets. 255 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype. 256 2572011-04-07 Andrey Belevantsev <abel@ispras.ru> 258 259 Backport from mainline 260 2011-01-13 Andrey Belevantsev <abel@ispras.ru> 261 262 PR rtl-optimization/45352 263 * sel-sched.c: Update copyright years. 264 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state 265 in the advancing loop when we have issued issue_rate insns. 266 267 Backport from mainline 268 2010-12-22 Andrey Belevantsev <abel@ispras.ru> 269 270 PR rtl-optimization/45352 271 PR rtl-optimization/46521 272 PR rtl-optimization/46522 273 * sel-sched.c (reset_sched_cycles_in_current_ebb): Recheck the DFA state 274 on the last iteration of the advancing loop. 275 (sel_sched_region_1): Propagate the rescheduling bit to the next block 276 also for empty blocks. 277 278 Backport from mainline 279 2010-11-08 Andrey Belevantsev <abel@ispras.ru> 280 281 PR rtl-optimization/45352 282 * sel-sched.c (find_best_expr): Do not set pneed_stall when 283 the variable_issue hook is not implemented. 284 (fill_insns): Remove dead variable stall_iterations. 285 (init_seqno_1): Force EBB start for resetting sched cycles on any 286 successor blocks of the rescheduled region. 287 (sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit. 288 (reset_sched_cycles_in_current_ebb): Add debug printing. 289 New variable issued_insns. Advance state when we have issued 290 issue_rate insns. 291 2922011-04-07 Andrey Belevantsev <abel@ispras.ru> 293 294 Backport from mainline 295 2010-12-24 Alexander Monakov <amonakov@ispras.ru> 296 297 PR rtl-optimization/47036 298 * sel-sched-ir.c (fallthru_bb_of_jump): Remove special support for 299 unconditional jumps. 300 * sel-sched.c (moveup_expr): Ditto. 301 3022011-04-07 Andrey Belevantsev <abel@ispras.ru> 303 304 Backport from mainline 305 2010-12-15 Alexander Monakov <amonakov@ispras.ru> 306 307 PR rtl-optimization/46649 308 * sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first 309 basic block in the region. 310 3112011-04-07 Andrey Belevantsev <abel@ispras.ru> 312 313 Backport from mainline 314 2010-12-14 Alexander Monakov <amonakov@ispras.ru> 315 316 PR rtl-optimization/46875 317 * sched-vis.c (print_pattern): Dump "sequence" for ADDR_VECs. 318 * sel-sched-ir.c (bb_has_removable_jump_to_p): Forbid table jumps. 319 3202011-04-07 Andrey Belevantsev <abel@ispras.ru> 321 322 Backport from mainline 323 2010-12-07 Andrey Belevantsev <abel@ispras.ru> 324 PR target/43603 325 * haifa-sched.c (sched_create_recovery_edges): Update 326 dominator info. 327 * sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info 328 after deleting an empty block. 329 (tidy_control_flow): Also verify dominators. 330 (sel_remove_bb): Update dominator info after removing a block. 331 (sel_redirect_edge_and_branch_force): Assert that no unreachable 332 blocks will be created. Update dominator info. 333 (sel_redirect_edge_and_branch): Update dominator info when 334 basic blocks do not become unreachable. 335 (sel_remove_loop_preheader): Update dominator info. 336 337 2010-10-14 Andrey Belevantsev <abel@ispras.ru> 338 339 * sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment. 340 (tidy_control_flow): Tidy vertical space. 341 (sel_remove_bb): New variable idx. Use it to remember the basic 342 block index before deleting the block. 343 (sel_remove_empty_bb): Remove dead code, simplify and insert to ... 344 (sel_merge_blocks): ... here. 345 * sel-sched-ir.h (sel_remove_empty_bb): Remove prototype. 346 3472011-04-07 Andrey Belevantsev <abel@ispras.ru> 348 349 Backport from mainline 350 2010-12-03 Alexander Monakov <amonakov@ispras.ru> 351 352 PR rtl-optimization/45354 353 * sel-sched-ir.c (jump_leads_only_to_bb_p): Rename to ... 354 (bb_has_removable_jump_to_p): This. Update all callers. Make static. 355 Allow BBs ending with a conditional jump. Forbid EDGE_CROSSING jumps. 356 * sel-sched-ir.h (jump_leads_only_to_bb_p): Delete prototype. 357 3582011-04-07 Andrey Belevantsev <abel@ispras.ru> 359 360 Backport from mainline 361 2010-11-25 Alexander Monakov <amonakov@ispras.ru> 362 363 PR rtl-optimization/46585 364 * sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL. 365 (vinsn_init): Skip computation of dependencies for local NOPs. 366 (vinsn_delete): Don't try to free regsets for local NOPs. 367 (setup_nop_and_exit_insns): Change definition of nop_pattern. 368 3692011-04-07 Andrey Belevantsev <abel@ispras.ru> 370 371 Backport from mainline 372 2010-11-25 Alexander Monakov <amonakov@ispras.ru> 373 374 PR rtl-optimization/46602 375 * sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ... 376 (tidy_control_flow): Here. 377 3782011-04-07 Andrey Belevantsev <abel@ispras.ru> 379 380 Backport from mainline 381 2010-11-22 Alexander Monakov <amonakov@ispras.ru> 382 383 PR rtl-optimization/45652 384 * alias.c (get_reg_base_value): New. 385 * rtl.h (get_reg_base_value): Add prototype. 386 * sel-sched.c (init_regs_for_mode): Use it. Don't use registers with 387 non-null REG_BASE_VALUE for renaming. 388 3892011-04-07 Andrey Belevantsev <abel@ispras.ru> 390 391 Backport from mainline 392 2010-11-18 Alexander Monakov <amonakov@ispras.ru> 393 394 PR middle-end/46518 395 * sel-sched-ir.c (init_expr): Use the correct type for 396 target_available. 397 * sel-sched.c (fill_vec_av_set): Use explicitly signed char type. 398 3992011-04-07 Andrey Belevantsev <abel@ispras.ru> 400 401 Backport from mainline 402 2010-11-12 Alexander Monakov <amonakov@ispras.ru> 403 404 PR rtl-optimization/46204 405 sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument. 406 pdate all callers. Do not recompute topological order. Adjust 407 allthrough edges following a degenerate conditional jump. 408 4092011-04-07 Andrey Belevantsev <abel@ispras.ru> 410 411 Backport from mainline 412 2010-10-14 Andrey Belevantsev <abel@ispras.ru> 413 414 PR rtl-optimization/45570 415 * sel-sched-ir.c (cfg_preds_1): When walking out of the region, 416 assert that we are pipelining outer loops. Allow returning 417 zero predecessors. 418 4192011-04-06 Joseph Myers <joseph@codesourcery.com> 420 421 * gcov-io.c: Use GCC Runtime Library Exception. 422 4232011-03-30 H.J. Lu <hongjiu.lu@intel.com> 424 425 Backport from mainline 426 2011-03-30 H.J. Lu <hongjiu.lu@intel.com> 427 428 PR target/48349 429 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in 430 FLOAT_SSE_REGS. 431 4322011-03-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 433 434 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS 435 for invalid symbolic addresses. 436 (s390_secondary_reload): Don't use s390_check_symref_alignment for 437 larl operands. 438 4392011-03-28 Richard Sandiford <richard.sandiford@linaro.org> 440 441 PR target/47553 442 * config/arm/predicates.md (neon_lane_number): Accept 0..15. 443 4442011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com> 445 446 PR other/48254 447 * doc/invoke.texi (-fipa-struct-reorg): Fix typo. 448 4492011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com> 450 451 PR other/48179 452 PR other/48234 453 * doc/extend.texi (Alignment): Move section to match order in TOC. 454 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise. 455 4562011-03-18 H.J. Lu <hongjiu.lu@intel.com> 457 458 Backport from mainline 459 2011-03-17 H.J. Lu <hongjiu.lu@intel.com> 460 461 PR target/48171 462 * config/i386/i386.opt: Add Save to -mavx and -mfma. 463 4642011-03-16 Pat Haugen <pthaugen@us.ibm.com> 465 466 PR target/47862 467 * caller-save.c (insert_restore, insert_save): Use non-validate 468 form of adjust_address. 469 4702011-03-16 Nick Clifton <nickc@redhat.com> 471 472 * config/rx/rx.h (JUMP_ALIGN): Define. 473 (JUMP_ALIGN_MAX_SKIP, LABEL_ALIGN_AFTER_BARRIER, LOOP_ALIGN, 474 (LABEL_ALIGN, LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP, 475 (LOOP_ALIGN_MAX_SKIP, LABEL_ALIGN_MAX_SKIP): Define. 476 * config/rx/rx-protos.h (rx_align_for_label): Prototype. 477 (rx_max_skip_for_label): Prototype. 478 * config/rx/rx.md (abssi3): Use CC_ZSmode. 479 (andis3): Fix timings. 480 (peephole): Add peephole to combine zero- and sign- extending 481 loads with arithmetic instructions. 482 (bset): Fix timing. 483 (bclr): Fix timing. 484 * config/rx/rx.c (rx_is_legitimate_address): Add checks for QImode 485 and HImode reg+int address. 486 (rx_print_operand): Add support for %R. Fix generation of .B and 487 .W addressing modes. 488 (rx_align_for_label): New function. 489 (rx_max_skip_for_label): New function. 490 4912011-03-10 Jason Merrill <jason@redhat.com> 492 493 PR c++/48029 494 * stor-layout.c (layout_type): Don't set structural equality 495 on arrays of incomplete type. 496 * tree.c (type_hash_eq): Handle comparing them properly. 497 4982011-03-08 Richard Guenther <rguenther@suse.de> 499 500 Backport from mainline 501 2011-02-10 Richard Guenther <rguenther@suse.de> 502 503 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8. 504 505 2010-10-18 Richard Guenther <rguenther@suse.de> 506 507 PR tree-optimization/45967 508 * tree-ssa-structalias.c (type_could_have_pointers): Remove. 509 (could_have_pointers): Likewise. 510 (handle_rhs_call, handle_const_call, handle_pure_call, 511 find_func_aliases, intra_create_variable_infos): Remove calls to them. 512 (struct fieldoff): Add must_have_pointers field. 513 (type_must_have_pointers): New function. 514 (field_must_have_pointers): Likewise. 515 (push_fields_onto_fieldstack): Remove must_have_pointers_p argument. 516 Adjust field merging. 517 (create_function_info_for): May-have-pointers of varinfo is 518 almost always true. 519 (create_variable_info_for_1): Likewise. 520 521 2010-10-12 Richard Guenther <rguenther@suse.de> 522 523 * tree-ssa-structalias.c (get_constraint_for_1): Constants 524 only point to nonlocal, not anything. 525 5262011-03-08 Richard Guenther <rguenther@suse.de> 527 528 PR tree-optimization/47278 529 * tree.h (DECL_REPLACEABLE_P): Remove. 530 (decl_replaceable_p): Declare. 531 (decl_binds_to_current_def_p): Likewise. 532 * varasm.c (decl_replaceable_p): New function. 533 (decl_binds_to_current_def_p): Likewise. 534 * cgraph.c (cgraph_function_body_availability): Use decl_replaceable_p. 535 * tree-inline.c (inlinable_function_p): Likewise. 536 5372011-03-07 Pat Haugen <pthaugen@us.ibm.com> 538 539 Backport from mainline 540 2011-03-07 Pat Haugen <pthaugen@us.ibm.com> 541 542 PR target/47862 543 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define. 544 5452011-03-07 Mingjie Xing <mingjie.xing@gmail.com> 546 547 * doc/cfg.texi: Remove "See" before @ref. 548 * doc/invoke.texi: Likewise. 549 5502011-03-03 Uros Bizjak <ubizjak@gmail.com> 551 552 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX. 553 (ssse3_pmaddubsw128): Ditto. 554 (ssse3_pmaddubsw): Ditto. 555 5562011-03-03 Denis Chertykov <chertykov@gmail.com> 557 558 Backport from mainline 559 2011-02-22 Georg-Johann Lay <avr@gjlay.de> 560 561 PR target/42240 562 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function. 563 (TARGET_CANNOT_MODIFY_JUMPS_P): Define. 564 5652011-03-03 Richard Guenther <rguenther@suse.de> 566 567 * tree-vect-stmt.c (vectorizable_operation): Remove unused vars. 568 5692011-03-02 Richard Guenther <rguenther@suse.de> 570 571 Backport from mainline 572 2011-02-07 Richard Guenther <rguenther@suse.de> 573 574 PR tree-optimization/47615 575 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument. 576 * tree-ssa-sccvn.c (default_vn_walk_kind): New global. 577 (run_scc_vn): Initialize it. 578 (visit_reference_op_load): Use it. 579 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE. 580 5812011-03-01 Richard Guenther <rguenther@suse.de> 582 583 Backport from mainline 584 2011-02-08 Richard Guenther <rguenther@suse.de> 585 586 PR middle-end/47639 587 * tree-vect-generic.c (expand_vector_operations_1): Update 588 stmts here ... 589 (expand_vector_operations): ... not here. Cleanup EH info 590 and the CFG if required. 591 5922011-03-01 Richard Guenther <rguenther@suse.de> 593 594 Backport from mainline 595 2011-03-01 Richard Guenther <rguenther@suse.de> 596 597 PR tree-optimization/47890 598 * tree-vect-loop.c (get_initial_def_for_induction): Set 599 related stmt properly. 600 601 2010-12-01 Richard Guenther <rguenther@suse.de> 602 603 PR tree-optimization/46723 604 * tree-vect-loop.c (get_initial_def_for_induction): Strip 605 conversions from the induction evolution and apply it to 606 the result instead. 607 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle 608 assigns for induction defs. 609 6102011-02-28 Georg-Johann Lay <avr@gjlay.de> 611 612 PR target/45261 613 * config/avr/avr.c (avr_option_override): Use error on bad options. 614 (avr_help): New function. 615 (TARGET_HELP): Define. 616 6172011-02-26 Gerald Pfeifer <gerald@pfeifer.com> 618 619 * doc/invoke.texi (ARC Options): Use CPU instead of cpu. 620 (ARM Options): Ditto. 621 (i386 and x86-64 Options): Ditto. 622 (RX Options): Ditto. 623 (SPARC Options): Ditto. 624 6252011-02-26 Tijl Coosemans <tijl@coosemans.org> 626 627 * config.gcc (i386-*-freebsd*): Make i486 the default arch on 628 FreeBSD 6 and later. Generally use cpu generic. 629 6302011-02-25 Gerald Pfeifer <gerald@pfeifer.com> 631 632 * doc/cpp.texi (Obsolete Features): Add background on the 633 origin of assertions. 634 Update copyright years. 635 6362011-02-25 Andriy Gapon <avg@freebsd.org> 637 638 PR target/45808 639 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case. 640 Update copyright years. 641 6422011-02-21 Uros Bizjak <ubizjak@gmail.com> 643 644 PR target/47840 645 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32. 646 (_mm256_insert_epi64): Use _mm_insert_epi64. 647 6482011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 649 650 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts. 651 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock, 652 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs. 653 * config/pa/t-pa-hpux11: Add rules to build pthread stubs. 654 * config/pa/t-pa64: Likewise. 655 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define. 656 6572011-02-17 Uros Bizjak <ubizjak@gmail.com> 658 659 PR target/43653 660 * config/i386/i386.c (ix86_secondary_reload): Handle SSE 661 input reload with PLUS RTX. 662 6632011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 664 665 PR pch/14940 666 * config/alpha/host-osf.c: New file. 667 * config/alpha/x-osf: New file. 668 * config.host (alpha*-dec-osf*): Use it. 669 6702011-02-15 Tijl Coosemans <tijl@coosemans.org> 671 672 * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add. 673 Update copyright years. 674 6752011-02-11 Bernd Schmidt <bernds@codesourcery.com> 676 677 PR rtl-optimization/47166 678 * reload1.c (emit_reload_insns): Disable the spill_reg_store 679 mechanism for PRE_MODIFY and POST_MODIFY. 680 (inc_for_reload): For PRE_MODIFY, return the insn that sets the 681 reloadreg. 682 6832011-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 684 685 Backport from mainline: 686 2011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 687 688 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts. 689 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock, 690 pthread_mutex_unlock): Remove. 691 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs. 692 * config/pa/t-pa64: Likewise. 693 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against 694 shared libc if not linking against libpthread. 695 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. 696 6972011-02-03 Michael Meissner <meissner@linux.vnet.ibm.com> 698 699 Backport from mainline: 700 2011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com> 701 702 PR target/47272 703 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): 704 Document using vector double with the load/store builtins, and 705 that the load/store builtins always use Altivec instructions. 706 707 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns 708 to use altivec memory instructions, even on VSX. 709 (vector_altivec_store_<mode>): Ditto. 710 711 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New 712 function. 713 714 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add 715 V2DF, V2DI support to load/store overloaded builtins. 716 717 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add 718 altivec load/store builtins for V2DF/V2DI types. 719 720 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't 721 set avoid indexed addresses on power6 if -maltivec. 722 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use 723 vector_altivec_load/vector_altivec_store builtins. 724 (altivec_expand_st_builtin): Ditto. 725 (altivec_expand_builtin): Add VSX memory builtins. 726 (rs6000_init_builtins): Add V2DI types to internal types. 727 (altivec_init_builtins): Add support for V2DF/V2DI altivec 728 load/store builtins. 729 (rs6000_address_for_altivec): Insure memory address is appropriate 730 for Altivec. 731 732 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for 733 vec_vsx_ld and vec_vsx_st. 734 (vsx_store_<mode>): Ditto. 735 736 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type 737 variables to hold long long types for VSX vector memory builtins. 738 (RS6000_BTI_unsigned_long_long): Ditto. 739 (long_long_integer_type_internal_node): Ditti. 740 (long_long_unsigned_type_internal_node): Ditti. 741 742 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC. 743 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator. 744 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator. 745 746 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin 747 short cuts. 748 (vec_vsx_st): Ditto. 749 750 Backport from mainline: 751 2011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com> 752 753 PR target/47580 754 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use 755 gpc_reg_operand instead of vsx_register_operand to match rs6000.md 756 generator functions. 757 (vsx_floatuns<VSi><mode>2): Ditto. 758 (vsx_fix_trunc<mode><VSi>2): Ditto. 759 (vsx_fixuns_trunc<mode><VSi>2): Ditto. 760 7612011-02-02 Nick Clifton <nickc@redhat.com> 762 763 Import these patches from the mainline: 764 2011-01-31 Nick Clifton <nickc@redhat.com> 765 766 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered 767 registers inside interrupt handlers if the handler is not a leaf 768 function. 769 770 2011-01-25 Nick Clifton <nickc@redhat.com> 771 772 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types. 773 * config/rx/rx.c (rx_function_value): Likewise. 774 (rx_promote_function_mode): Likewise. 775 (gen_safe_add): Place an outsized immediate value inside an UNSPEC 776 in order to make it legitimate. 777 * config/rx/rx.md (adddi3_internal): If the second operand is a 778 MEM make sure that the first operand is the same as the result 779 register. 780 (addsi3_unspec): Delete. 781 (subdi3): Do not accept immediate operands. 782 (subdi3_internal): Likewise. 783 784 2011-01-24 Richard Henderson <rth@redhat.com> 785 786 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept 787 compound unordered comparisons. 788 * config/rx/rx.c (rx_split_fp_compare): Remove. 789 * config/rx/rx-protos.h: Update. 790 * config/rx/rx.md (gcc_conds, rx_conds): Remove. 791 (cbranchsf4): Don't call rx_split_fp_compare. 792 (*cbranchsf4): Use rx_split_cbranch. 793 (*cmpsf): Don't accept "i" constraint. 794 (*conditional_branch): Only valid after reload. 795 (cstoresf4): Merge expander with insn. Don't call 796 rx_split_fp_compare. 797 798 2011-01-22 Nick Clifton <nickc@redhat.com> 799 800 * config/rx/rx.md (cstoresf4): Pass comparison operator to 801 rx_split_fp_compare. 802 803 2011-01-22 Nick Clifton <nickc@redhat.com> 804 805 * config/rx/rx.md (UNSPEC_CONST): New. 806 (deallocate_and_return): Wrap the amount popped off the stack in 807 an UNSPEC_CONST in order to stop it being rejected by 808 -mmax-constant-size. 809 (pop_and_return): Add a "(return)" rtx. 810 (call): Drop the immediate operand. 811 (call_internal): Likewise. 812 (call_value): Likewise. 813 (call_value_internal): Likewise. 814 (sibcall_internal): Likewise. 815 (sibcall_value_internal): Likewise. 816 (sibcall): Likewise. Generate an explicit call using 817 sibcall_internal. 818 (sibcall_value): Likewise. 819 (mov<>): FAIL if a constant operand is not legitimate. 820 (addsi3_unpsec): New pattern. 821 822 * config/rx/rx.c (rx_print_operand_address): Handle UNPSEC 823 CONSTs. 824 (ok_for_max_constant): New function. 825 (gen_safe_add): New function. 826 (rx_expand_prologue): Use gen_safe_add. 827 (rx_expand_epilogue): Likewise. 828 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle 829 UNSPEC CONSTs. 830 831 2011-01-17 Richard Henderson <rth@redhat.com> 832 833 * config/rx/predicates.md (rx_constshift_operand): Use match_test. 834 (rx_restricted_mem_operand): New. 835 (rx_shift_operand): Use register_operand. 836 (rx_source_operand, rx_compare_operand): Likewise. 837 * config/rx/rx.md (addsi3_flags): New expander. 838 (adddi3): Rewrite as expander. 839 (adc_internal, *adc_flags, adddi3_internal): New patterns. 840 (subsi3_flags): New expander. 841 (subdi3): Rewrite as expander. 842 (sbb_internal, *sbb_flags, subdi3_internal): New patterns. 843 844 * config/rx/rx.c (RX_BUILTIN_SAT): Remove. 845 (rx_init_builtins): Remove sat builtin. 846 (rx_expand_builtin): Likewise. 847 * config/rx/rx.md (ssaddsi3): New. 848 (*sat): Rename from sat. Represent the CC_REG input. 849 850 * config/rx/predicates.md (rshift_operator): New. 851 * config/rx/rx.c (rx_expand_insv): Remove. 852 * config/rx/rx-protos.h: Update. 853 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift 854 operand to the canonical position. 855 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly. 856 (*bitclr, *bitclr_in_memory): Similarly. 857 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New. 858 (insv): Retain the zero_extract in the expansion. 859 860 * config/rx/rx.md (bswapsi2): Use = not + for output reload. 861 (bswaphi2, bitinvert, revw): Likewise. 862 863 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET. 864 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise. 865 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET. 866 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise. 867 (bitset, bitset_in_memory): Likewise. 868 (bitinvert, bitinvert_in_memory): Likewise. 869 (bitclr, bitclr_in_memory): Likewise. 870 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise. 871 (rx_strend, rx_cmpstrn): Likewise. 872 (rx_setmem): Likewise. Make the source BLKmode to match the dest. 873 (bitop peep2 patterns): Remove. 874 875 * config/rx/rx.c (rx_match_ccmode): New. 876 * config/rx/rx-protos.h: Update. 877 * config/rx/rx.md (abssi2): Clobber, don't set flags. 878 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise. 879 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise. 880 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise. 881 (fix_truncsfsi2, floatsisf2): Likewise. 882 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New. 883 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New. 884 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New. 885 (*subsi3_flags, *xorsi3_flags): New. 886 887 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns. 888 889 * config/rx/rx.c (rx_print_operand): Remove workaround for 890 unsplit comparison operations. 891 892 * config/rx/rx.md (movsicc): Split after reload. 893 (*movsicc): Merge *movsieq and *movsine via match_operator. 894 (*stcc): New pattern. 895 896 * config/rx/rx.c (rx_float_compare_mode): Remove. 897 * config/rx/rx.h (rx_float_compare_mode): Remove. 898 * config/rx/rx.md (cstoresi4): Split after reload. 899 (*sccc): New pattern. 900 901 * config/rx/predicates.md (label_ref_operand): New. 902 (rx_z_comparison_operator): New. 903 (rx_zs_comparison_operator): New. 904 (rx_fp_comparison_operator): New. 905 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes. 906 Validate that the flags are set properly for the comparison. 907 (rx_gen_cond_branch_template): Remove. 908 (rx_cc_modes_compatible): Remove. 909 (mode_from_flags): New. 910 (flags_from_code): Rename from flags_needed_for_conditional. 911 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode. 912 (rx_select_cc_mode): Likewise. 913 (rx_split_fp_compare): New. 914 (rx_split_cbranch): New. 915 * config/rx/rx.md (most_cond, zs_cond): Remove iterators. 916 (*cbranchsi4): Use match_operator and rx_split_cbranch. 917 (*cbranchsf4): Similarly. 918 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use 919 match_operator and rx_split_cbranch. 920 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and 921 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch. 922 (*cmpsi): Rename from cmpsi. 923 (*tstsi): Rename from tstsi. 924 (*cmpsf): Rename from cmpsf; use CC_Fmode. 925 (*conditional_branch): Rename from conditional_branch. 926 (*reveresed_conditional_branch): Remove. 927 (b<code>): Remove expander. 928 * config/rx/rx-protos.h: Update. 929 930 * config/rx/rx.c (rx_compare_redundant): Remove. 931 * config/rx/rx.md (cmpsi): Don't use it. 932 * config/rx/rx-protos.h: Update. 933 934 * config/rx/rx-modes.def (CC_F): New mode. 935 * config/rx/rx.c (rx_select_cc_mode): New. 936 * config/rx/rx.h (SELECT_CC_MODE): Use it. 937 * config/rx/rx-protos.h: Update. 938 9392011-02-01 Richard Guenther <rguenther@suse.de> 940 941 PR tree-optimization/47541 942 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make 943 sure to have a field at offset zero. 944 9452011-01-31 Nathan Froyd <froydnj@codesourcery.com> 946 947 Backport from mainline: 948 2010-12-30 Nathan Froyd <froydnj@codesourcery.com> 949 950 PR target/44606 951 * reload1.c (choose_reload_regs): Don't look for equivalences for 952 output reloads of constant loads. 953 9542011-01-30 Gerald Pfeifer <gerald@pfeifer.com> 955 956 * doc/install.texi (hppa-hp-hpux10): Remove references to HP 957 support sites. 958 9592011-01-30 Gerald Pfeifer <gerald@pfeifer.com> 960 961 * doc/install.texi: Update copyright years. 962 9632011-01-30 Gerald Pfeifer <gerald@pfeifer.com> 964 965 * doc/install.texi (Binaries): Remove outdated reference for 966 Motorola 68HC11/68HC12 downloads. 967 9682011-01-30 Gerald Pfeifer <gerald@pfeifer.com> 969 970 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich 971 Drepper's paper. 972 9732011-01-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 974 975 Backport from mainline: 976 2010-08-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 977 978 PR boehm-gc/34544 979 * gthr-posix.h (__gthread_active_init): Delete. 980 (__gthread_active_p): Do activity check here. 981 Don't include errno.h on hppa-hpux. Update comment. 982 * gthr-posix95.h (__gthread_active_init): Delete. 983 (__gthread_active_p): Do activity check here. 984 Don't include errno.h on hppa-hpux. Update comment. 985 * config.gcc (hppa[12]*-*-hpux11*): Define extra_parts. 986 * config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only 987 add -lpthread when -mt or -pthread is specified. 988 * config/pa/pa-hpux11.h (LIB_SPEC): likewise. 989 (LINK_GCC_C_SEQUENCE_SPEC): Define. 990 * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define. 991 (stublib.c, pthread_default_stacksize_np-stub.o, 992 pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o, 993 $(T)libgcc_stub.a): Add methods. 994 * config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs. 995 (stublib.c, pthread_default_stacksize_np-stub.o, 996 pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods. 997 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock, 998 pthread_mutex_unlock): New stubs. 999 10002011-01-26 Eric Botcazou <ebotcazou@adacore.com> 1001 1002 PR rtl-optimization/44469 1003 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too 1004 after removing trivially dead basic blocks. 1005 10062011-01-25 Richard Guenther <rguenther@suse.de> 1007 1008 PR tree-optimization/47411 1009 Backport from mainline 1010 2010-06-30 Michael Matz <matz@suse.de> 1011 1012 PR bootstrap/44699 1013 * tree-vrp.c (vrp_finalize): Deal with changing num_ssa_names. 1014 10152011-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 1016 1017 Backport from mainline. 1018 2010-09-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 1019 1020 PR target/44392 1021 * config/arm/arm.md (bswapsi2): Handle condition correctly 1022 for armv6 and optimize_size. 1023 10242011-01-21 Richard Guenther <rguenther@suse.de> 1025 1026 PR tree-optimization/47365 1027 * tree-ssa-sccvn.h (vn_lookup_kind): Declare. 1028 (vn_reference_lookup_pieces): Adjust. 1029 (vn_reference_lookup): Likewise. 1030 * tree-ssa-sccvn.c (vn_walk_kind): New static global. 1031 (vn_reference_lookup_3): Only look through kills if in 1032 VN_WALKREWRITE mode. 1033 (vn_reference_lookup_pieces): Adjust. 1034 (vn_reference_lookup): Likewise. 1035 (visit_reference_op_load): Likewise. 1036 (visit_reference_op_store): Likewise. 1037 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode. 1038 (compute_avail): Likewise. 1039 (eliminate): Likewise. 1040 10412011-01-20 Richard Guenther <rguenther@suse.de> 1042 1043 PR tree-optimization/47167 1044 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): 1045 Revert previous change, only avoid enumeral type changes. 1046 10472011-01-17 H.J. Lu <hongjiu.lu@intel.com> 1048 1049 Backport from mainline 1050 2011-01-17 H.J. Lu <hongjiu.lu@intel.com> 1051 1052 PR target/47318 1053 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to 1054 __m128i. 1055 (_mm_maskstore_pd): Likewise. 1056 (_mm_maskload_ps): Likewise. 1057 (_mm_maskstore_ps): Likewise. 1058 (_mm256_maskload_pd): Change mask to __m256i. 1059 (_mm256_maskstore_pd): Likewise. 1060 (_mm256_maskload_ps): Likewise. 1061 (_mm256_maskstore_ps): Likewise. 1062 1063 * config/i386/i386-builtin-types.def: Updated. 1064 (ix86_expand_special_args_builtin): Likewise. 1065 1066 * config/i386/i386.c (bdesc_special_args): Update 1067 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps, 1068 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256, 1069 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps, 1070 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256. 1071 1072 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>): 1073 Use <avxpermvecmode> on mask register. 1074 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise. 1075 10762011-01-17 Olivier Hainque <hainque@adacore.com> 1077 Michael Haubenwallner <michael.haubenwallner@salomon.at> 1078 Eric Botcazou <ebotcazou@adacore.com> 1079 1080 PR target/46655 1081 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only 1082 if <= USHRT_MAX in 32-bit mode. 1083 10842011-01-17 Richard Guenther <rguenther@suse.de> 1085 1086 Backport from mainline 1087 PR tree-optimization/47286 1088 * tree-ssa-structalias.c (new_var_info): Register variables 1089 are global. 1090 1091 PR tree-optimization/44592 1092 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Copy 1093 from trunk. 1094 10952011-01-16 Jakub Jelinek <jakub@redhat.com> 1096 1097 Backport from mainline 1098 2011-01-07 Jakub Jelinek <jakub@redhat.com> 1099 1100 PR target/47201 1101 * config/i386/i386.c (ix86_delegitimize_address): If 1102 simplify_gen_subreg fails, return orig_x. 1103 1104 2011-01-06 Jakub Jelinek <jakub@redhat.com> 1105 1106 PR c/47150 1107 * c-convert.c (convert): When converting a complex expression 1108 other than COMPLEX_EXPR to a different complex type, ensure 1109 c_save_expr is called instead of save_expr, unless in_late_binary_op. 1110 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also 1111 when converting COMPLEX_TYPE. 1112 1113 2010-12-21 Jakub Jelinek <jakub@redhat.com> 1114 1115 PR target/46880 1116 * config/i386/sse.md (sse2_loadlpd, sse2_movsd): Fix shufpd source 1117 operand. 1118 1119 PR middle-end/45852 1120 * expr.c (store_expr): Ignore alt_rtl if equal to target, 1121 but has side-effects. 1122 1123 2010-12-16 Jakub Jelinek <jakub@redhat.com> 1124 1125 PR tree-optimization/43655 1126 * tree-ssa-ter.c (is_replaceable_p): Don't use 1127 gimple_references_memory_p for -O0, instead check for load 1128 by looking at rhs. 1129 1130 PR debug/46893 1131 * cfgexpand.c (expand_debug_expr): If GET_MODE (op0) is VOIDmode, 1132 use TYPE_MODE (TREE_TYPE (tem)) instead of mode1. 1133 1134 2010-12-10 Jakub Jelinek <jakub@redhat.com> 1135 1136 PR rtl-optimization/46804 1137 * regmove.c (optimize_reg_copy_3): Look for REG_EQUAL note 1138 on the setter of src_reg rather than on insn. If it is 1139 equal to the setter's original SET_SRC, replace it with its 1140 zero or sign extension instead of dropping it. 1141 1142 PR rtl-optimization/46865 1143 * rtl.c (rtx_equal_p_cb, rtx_equal_p): For last operand of 1144 ASM_OPERANDS and ASM_INPUT if integers are different, 1145 call locator_eq. 1146 * jump.c (rtx_renumbered_equal_p): Likewise. 1147 1148 PR tree-optimization/46864 1149 * tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even 1150 when there are EDGE_EH exit edges. 1151 1152 2010-12-09 Jakub Jelinek <jakub@redhat.com> 1153 1154 PR target/41082 1155 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Use stvx 1156 instead of stve*x. 1157 (altivec_expand_stv_builtin): For op0 use mode of operand 1 instead 1158 of operand 0. 1159 * config/rs6000/altivec.md (VI_scalar): New mode attr. 1160 (altivec_stve<VI_char>x, *altivec_stvesfx): Use scalar instead of 1161 vector mode for operand 0, put operand 1 into UNSPEC. 1162 11632011-01-13 Nick Clifton <nickc@redhat.com> 1164 1165 Import this fix from the mainline: 1166 2010-10-19 Nick Clifton <nickc@redhat.com> 1167 1168 * config/rx/rx.c (rx_function_value): Small integer types are 1169 promoted to SImode. 1170 (rx_promote_function_mode): New function. 1171 (TARGET_PROMOTE_FUNCTION_MODE): Define. 1172 11732011-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1174 1175 Backport from mainline: 1176 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1177 1178 PR target/43309 1179 * config/i386/i386.c (legitimize_tls_address) 1180 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS. 1181 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare. 1182 (tls_initial_exec_64_sun): New pattern. 1183 11842011-01-03 Eric Botcazou <ebotcazou@adacore.com> 1185 1186 Backport from mainline 1187 2010-12-30 Eric Botcazou <ebotcazou@adacore.com> 1188 1189 PR target/47038 1190 * config/sparc/sparc.c (sparc_file_end): Call resolve_unique_section 1191 on the GOT helper if USE_HIDDEN_LINKONCE. 1192 1193 2010-12-02 Eric Botcazou <ebotcazou@adacore.com> 1194 1195 PR target/46685 1196 * config/sparc/sparc.c (can_use_mov_pic_label_ref): New predicate. 1197 (sparc_expand_move): Call it to decide whether to emit the special 1198 mov{si,di}_pic_label_ref patterns. 1199 (sparc_legitimize_pic_address): Call it to decide whether to emit 1200 the regular PIC sequence for labels. Fix long line. 1201 (sparc_file_end): Set is_thunk for the PIC helper. 1202 12032010-12-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1204 1205 * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean 1206 patterns. 1207 12082010-12-27 Yao Qi <yao@codesourcery.com> 1209 1210 Backport from mainline: 1211 2010-10-14 Yao Qi <yao@codesourcery.com> 1212 1213 PR target/45447 1214 * config/arm/arm.c (arm_build_builtin_va_list): Assign 1215 va_list_name to TYPE_STUB_DECL (va_list_type). 1216 12172010-12-23 Sebastian Pop <sebastian.pop@amd.com> 1218 Richard Guenther <rguenther@suse.de> 1219 1220 PR tree-optimization/46758 1221 * graphite-sese-to-poly.c (scan_tree_for_params_right_scev): Use 1222 tree_int_to_gmp instead of int_cst_value. 1223 (scan_tree_for_params_int): Same. 1224 (scan_tree_for_params): Same. 1225 (pdr_add_data_dimensions): Use ppl_set_inhomogeneous_tree. 1226 12272010-12-23 Sebastian Pop <sebastian.pop@amd.com> 1228 1229 Backport from mainline 1230 Fix PR45758: reset scevs before Graphite. 1231 2010-09-24 Sebastian Pop <sebastian.pop@amd.com> 1232 1233 PR tree-optimization/45552 1234 * graphite.c (graphite_initialize): Call scev_reset. 1235 12362010-12-23 Sebastian Pop <sebastian.pop@amd.com> 1237 1238 PR tree-optimization/43023 1239 * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p): 1240 Removed. 1241 (stores_zero_from_loop): Call stmt_stores_zero. 1242 (stmt_with_adjacent_zero_store_dr_p): New. 1243 * tree-data-ref.h (stmt_with_adjacent_zero_store_dr_p): Declared. 1244 (stride_of_unit_type_p): New. 1245 * tree-loop-distribution.c (generate_memset_zero): Do not return a 1246 boolean. Call gcc_assert on stride_of_unit_type_p. 1247 (generate_builtin): Call stmt_stores_zero. 1248 (rdg_flag_all_uses): Removed. 1249 (rdg_flag_similar_memory_accesses): Removed. 1250 (build_rdg_partition_for_component): Removed parameter 1251 other_stores. Removed call to rdg_flag_similar_memory_accesses. 1252 (can_generate_builtin): New. 1253 (similar_memory_accesses): New. 1254 (fuse_partitions_with_similar_memory_accesses): New. 1255 (rdg_build_partitions): Call 1256 fuse_partitions_with_similar_memory_accesses. 1257 12582010-12-21 Martin Jambor <mjambor@suse.cz> 1259 1260 Backport from mainline: 1261 2010-12-09 Martin Jambor <mjambor@suse.cz> 1262 1263 PR middle-end/46734 1264 * tree-sra.c (splice_param_accesses): Check that there are not 1265 multiple ADDRESSABLE types. 1266 12672010-12-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1268 1269 Backport from mainline: 1270 2010-12-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1271 1272 PR target/46915 1273 * config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead 1274 of next_real_insn. Search forward checking for both ASM_INPUT and 1275 ASM_OPERANDS asms until exit condition is found. 1276 (branch_needs_nop_p): Likewise. 1277 (use_skip_p): New function. 1278 (output_cbranch): Use use_skip_p. 1279 (output_bb, output_bvb): Likewise. 1280 12812010-12-19 Eric Botcazou <ebotcazou@adacore.com> 1282 1283 PR target/46729 1284 * config/sparc/sparc.h (GLOBAL_OFFSET_TABLE_REGNUM): New macro. 1285 (PIC_OFFSET_TABLE_REGNUM): Rewrite in terms of above macro. 1286 * config/sparc/sparc.c (pic_helper_needed): Delete. 1287 (global_offset_table): Likewise. 1288 (pic_helper_symbol): Rename to... 1289 (got_helper_rtx): ...this. 1290 (global_offset_table_rtx): New global variable. 1291 (sparc_got_symbol): Likewise. 1292 (sparc_got): New static function. 1293 (check_pic): Use local variable and call sparc_got. 1294 (sparc_tls_symbol): Initialize to NULL_RTX. 1295 (sparc_tls_got): In non-PIC mode, reload the GOT register for Sun TLS 1296 and 32-bit ABI and copy the GOT symbol to a new register otherwise. 1297 (get_pc_thunk_name): Rename local variable. 1298 (gen_load_pcrel_sym): New wrapper around load_pcrel_sym{si,di}. 1299 (load_pic_register): Rename to... 1300 (load_got_register): ...this. Adjust and call gen_load_pcrel_sym. 1301 (sparc_expand_prologue): Do not test flag_pic. 1302 (sparc_output_mi_thunk): Use pic_offset_table_rtx directly. 1303 (sparc_file_end): Test got_helper_rtx instead of pic_helper_needed. 1304 Rename local variable and do not call get_pc_thunk_name again. 1305 * config/sparc/sparc.md (load_pcrel_sym): Add operand #3. 1306 13072010-12-18 Alexandre Oliva <aoliva@redhat.com> 1308 1309 PR debug/46756 1310 * jump.c (mark_all_labels): Skip debug insns. 1311 13122010-12-18 Alexandre Oliva <aoliva@redhat.com> 1313 1314 PR debug/46782 1315 * cfgcleanup.c (try_forward_edges): Skip debug insns. 1316 13172010-12-16 Eric Botcazou <ebotcazou@adacore.com> 1318 1319 * tree-ssa-sccvn.c (vn_reference_lookup_3): Always punt if the call to 1320 get_ref_base_and_extent returns -1 as the max size. 1321 13222010-12-16 Richard Guenther <rguenther@suse.de> 1323 1324 * DEV-PHASE: Set back to prerelease. 1325 * BASE-VER: Bump to 4.5.3. 1326 13272010-12-16 Release Manager 1328 1329 * GCC 4.5.2 released. 1330 13312010-12-07 Jakub Jelinek <jakub@redhat.com> 1332 1333 Backport from mainline 1334 2010-12-06 Jakub Jelinek <jakub@redhat.com> 1335 1336 PR target/43897 1337 * config/ia64/ia64.c (rtx_needs_barrier): Handle asm CLOBBER 1338 as a store into that register. 1339 1340 PR rtl-optimization/46777 1341 * cfglayout.c (duplicate_insn_chain): Avoid duplicating 1342 also barrier after tablejump. 1343 1344 2010-11-24 Jakub Jelinek <jakub@redhat.com> 1345 1346 PR rtl-optimization/46614 1347 * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define. 1348 (deps_analyze_insn): Mark JUMP_INSNs in 1349 last_pending_memory_flush that weren't added through 1350 flush_pending_lists with NON_FLUSH_JUMP_KIND. 1351 (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P 1352 on INSN_LIST instead of JUMP_P check on its operand. 1353 * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND. 1354 1355 PR middle-end/46629 1356 * cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn) 1357 instead of insn with any_condjump_p. 1358 1359 2010-11-23 Jakub Jelinek <jakub@redhat.com> 1360 1361 PR middle-end/46499 1362 * cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs 1363 following unconditional jumps. 1364 13652010-12-07 Sebastian Pop <sebastian.pop@amd.com> 1366 1367 Backport from mainline: 1368 2010-05-07 Sebastian Pop <sebastian.pop@amd.com> 1369 1370 PR tree-optimization/44676 1371 * graphite-sese-to-poly.c (loop_entry_phi_arg): Renamed 1372 phi_arg_in_outermost_loop. 1373 (remove_simple_copy_phi): Call phi_arg_in_outermost_loop. 1374 (remove_invariant_phi): Same. 1375 13762010-12-07 Jakub Jelinek <jakub@redhat.com> 1377 1378 Backport from mainline 1379 2010-11-19 Jakub Jelinek <jakub@redhat.com> 1380 1381 PR target/45870 1382 * dwarf2out.c (const_ok_for_output_1): Don't complain about 1383 non-delegitimized TLS UNSPECs. 1384 1385 2010-11-18 Jakub Jelinek <jakub@redhat.com> 1386 1387 PR middle-end/46534 1388 * builtins.c (fold_builtin_printf): Don't copy and modify string 1389 before build_string_literal, instead modify what 1390 build_string_literal returned. 1391 1392 2010-11-17 Jakub Jelinek <jakub@redhat.com> 1393 1394 PR rtl-optimization/46440 1395 * combine.c (update_cfg_for_uncondjump): When changing 1396 an indirect jump into unconditional jump, remove BARRIERs 1397 from bb's footer. 1398 1399 2010-11-16 Jakub Jelinek <jakub@redhat.com> 1400 1401 PR c++/46401 1402 * c-common.c (warning_candidate_p): Don't track non-const calls 1403 or STRING_CSTs. 1404 14052010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1406 1407 Backport from mainline: 1408 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1409 1410 * doc/sourcebuild.texi (Add Options): Document tls. 1411 14122010-12-06 Richard Guenther <rguenther@suse.de> 1413 1414 PR tree-optimization/46806 1415 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do not 1416 coalesce different types. 1417 14182010-12-05 Richard Guenther <rguenther@suse.de> 1419 Ira Rosen <irar@il.ibm.com> 1420 1421 PR tree-optimization/46663 1422 * tree-vect-patterns.c (vect_recog_pow_pattern): Check that 1423 FUNCTION_DECL exists and that it's a builtin. 1424 14252010-12-03 Jason Merrill <jason@redhat.com> 1426 1427 PR debug/46123 1428 * dwarf2out.c (gen_type_die_with_usage): Don't put local types in 1429 a declaration DIE. 1430 14312010-12-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1432 1433 Backport from mainline: 1434 2010-09-15 Olivier Hainque <hainque@adacore.com> 1435 Jose Ruiz <ruiz@adacore.com> 1436 1437 * config/alpha/osf.h (MD_UNWIND_SUPPORT): Define. 1438 * config/alpha/osf-unwind.h: New file. 1439 14402010-12-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1441 1442 Backport from mainline: 1443 2010-11-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1444 1445 * config/mips/iris6.h [!IRIX_USING_GNU_LD] 1446 (SUPPORTS_INIT_PRIORITY): Define. 1447 14482010-12-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1449 1450 Backport from mainline: 1451 2010-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1452 1453 * configure.ac (*-*-irix6*): Disable set_have_as_tls. 1454 (*-*-osf*): Likewise. 1455 * configure: Regenerate. 1456 14572010-11-29 H.J. Lu <hongjiu.lu@intel.com> 1458 1459 Backport from mainline 1460 PR middle-end/46651 1461 2010-07-22 Sebastian Pop <sebastian.pop@amd.com> 1462 1463 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use 1464 SSA_NAME_DEF_STMT only on SSA_NAMEs. 1465 14662010-11-29 Zdenek Dvorak <rakdver@kam.uniff.cz> 1467 1468 PR tree-optimization/46675 1469 * tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow 1470 in offset calculation. 1471 14722010-11-29 Alexandre Oliva <aoliva@redhat.com> 1473 1474 PR debug/46258 1475 * tree-cfg.c (replace_uses_by): Don't mark BBs as altered on 1476 debug stmts. 1477 14782010-11-22 Uros Bizjak <ubizjak@gmail.com> 1479 1480 PR middle-end/43057 1481 * fold-const.c (pedantic_non_lvalue_loc): Unshare x before 1482 setting location. 1483 14842010-11-21 Richard Henderson <rth@redhat.com> 1485 1486 PR rtl-optimization/46571 1487 * gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn. 1488 (compute_hash_table_work): Use NONDEBUG_INSN_P. 1489 14902010-11-21 Eric Botcazou <ebotcazou@adacore.com> 1491 1492 * config/mips/mips.c (machine_function): Rename load_label_length to 1493 load_label_num_insns. 1494 (mips_load_label_length): Rename to... 1495 (mips_load_label_num_insns): ...this. Adjust to first renaming. 1496 (mips_adjust_insn_length): Adjust to second renaming. Fix thinko. 1497 14982010-11-20 Eric Botcazou <ebotcazou@adacore.com> 1499 1500 PR target/31100 1501 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to... 1502 * config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here. 1503 * config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine. 1504 15052010-11-19 Joseph Myers <joseph@codesourcery.com> 1506 1507 PR c/46547 1508 * c-common.c (in_late_binary_op): Define. 1509 (c_common_truthvalue_conversion): Check in_late_binary_op before 1510 calling c_save_expr. 1511 * c-common.h (in_late_binary_op): Declare. 1512 * c-tree.h (in_late_binary_op): Move to c-common.h. 1513 * c-typeck.c (in_late_binary_op): Move to c-common.c. 1514 15152010-11-17 Richard Guenther <rguenther@suse.de> 1516 1517 PR tree-optimization/46498 1518 * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info. 1519 15202010-11-17 Alan Modra <amodra@gmail.com> 1521 1522 PR target/45807 1523 * config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete. 1524 * config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete. 1525 * config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init): 1526 Delete. 1527 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete. 1528 (rs6000_emit_prologue): Don't just create frame save info for r2, 1529 actually save r2. 1530 15312010-11-17 Alan Modra <amodra@gmail.com> 1532 1533 PR target/44266 1534 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use 1535 emit_library_call machinery to set up __tls_get_addr calls. 1536 15372010-11-16 Eric Botcazou <ebotcazou@adacore.com> 1538 1539 PR rtl-optimization/46315 1540 * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare. 1541 * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function 1542 extracted from... 1543 * dce.c (delete_corresponding_reg_eq_notes): ...here. Rename into... 1544 (remove_reg_equal_equiv_notes_for_defs): ...this. 1545 (delete_unmarked_insns): Adjust to above renaming. 1546 * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes 1547 referring to registers set in the insns being moved, if any. 1548 1549 * df-core.c (df_ref_dump): New function extracted from... 1550 (df_refs_chain_dump): ...here. Call it. 1551 (df_regs_chain_dump): Likewise. 1552 * df-problems.c (df_chain_dump): Print 'e' for uses in notes. 1553 * df-scan.c (df_scan_start_dump): Likewise. Fix long line. 1554 15552010-11-16 Richard Guenther <rguenther@suse.de> 1556 1557 PR tree-optimization/44545 1558 * tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing 1559 statements are not reassociatable. 1560 (reassociate_bb): Likewise. 1561 15622010-11-15 Jakub Jelinek <jakub@redhat.com> 1563 1564 PR tree-optimization/46491 1565 Backport from mainline 1566 1567 2010-05-14 Jan Hubicka <jh@suse.cz> 1568 * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string. 1569 15702010-11-12 Olivier Hainque <hainque@adacore.com> 1571 1572 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite 1573 switch on insn codes as sequence of ifs. 1574 15752010-11-12 Alexander Monakov <amonakov@ispras.ru> 1576 1577 Backport from mainline: 1578 2010-08-19 Andrey Belevantsev <abel@ispras.ru> 1579 1580 PR rtl-optimization/44691 1581 * sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG 1582 is not a register. 1583 15842010-11-12 Richard Guenther <rguenther@suse.de> 1585 1586 Backport from mainline 1587 2010-11-09 Richard Guenther <rguenther@suse.de> 1588 1589 PR tree-optimization/46355 1590 * tree-loop-distribution.c (tree_loop_distribution): Do not 1591 distribute loops without a single exit. 1592 1593 2010-11-02 Richard Guenther <rguenther@suse.de> 1594 1595 PR tree-optimization/46177 1596 * tree-loop-distribution.c (prop_phis): Use 1597 mark_virtual_phi_result_for_renaming. 1598 1599 2010-11-09 Richard Guenther <rguenther@suse.de> 1600 1601 PR tree-optimization/46177 1602 * tree-loop-distribution.c (prop_phis): Remove. 1603 (generate_builtin): Re-use the old loop exit edge to avoid 1604 needing to update PHI nodes. 1605 16062010-11-11 Jakub Jelinek <jakub@redhat.com> 1607 1608 Backport from mainline 1609 2010-11-05 Jakub Jelinek <jakub@redhat.com> 1610 1611 PR c/44772 1612 * c-decl.c (warn_cxx_compat_finish_struct): Don't call 1613 pointer_set_contains if DECL_NAME is NULL. 1614 1615 PR tree-optimization/46099 1616 * tree-parloops.c (take_address_of): Add GSI argument. Return NULL 1617 if it is NULL and uid wasn't found in the hash table. Just fold the 1618 result if it is NULL otherwise. Insert other potentially needed 1619 stmts right before current stmt instead of on the entry edge. 1620 (struct elv_data): Add gsi and reset fields. 1621 (eliminate_local_variables_1): Adjust caller. If take_address_of 1622 failed for debug stmt, set dta->reset and return. 1623 (eliminate_local_variables_stmt): Change STMT argument for GSI, 1624 pass GSI through to the callback, handle resetting of debug stmts. 1625 (eliminate_local_variables): Adjust caller. Process debug stmts 1626 in second phase. 1627 1628 PR middle-end/43690 1629 * gimplify.c (gimplify_asm_expr): If a "m" input is a 1630 {pre,post}{in,de}crement, fail. 1631 1632 2010-11-03 Jakub Jelinek <jakub@redhat.com> 1633 1634 PR tree-optimization/46165 1635 * tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing 1636 a normal call into noreturn call. 1637 1638 PR tree-optimization/46107 1639 * cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags 1640 if cfg_hook_duplicate_loop_to_header_edge failed. 1641 16422010-11-10 Uros Bizjak <ubizjak@gmail.com> 1643 1644 PR middle-end/46419 1645 * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi. 1646 (_mm_cvtpu16_ps): Ditto. 1647 16482010-11-09 Sebastian Pop <sebastian.pop@amd.com> 1649 1650 PR tree-optimization/45314 1651 Backport of revision 163132. 1652 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out 1653 of SSA copies on edges except for loop->latch. 1654 16552010-11-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 1656 1657 PR rtl-optimization/46237 1658 * ira-conflicts.c (ira_build_conflicts): Record conflicts for call 1659 saved hard regs if they might get partially clobbered. 1660 16612010-11-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 1662 1663 PR debug/45939 1664 * var-tracking.c (emit_note_insn_var_location): Make sure that 1665 call related var location notes come before the normal ones. 1666 16672010-11-04 Uros Bizjak <ubizjak@gmail.com> 1668 1669 Revert: 1670 2010-10-30 Uros Bizjak <ubizjak@gmail.com> 1671 1672 PR middle-end/44569 1673 * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements, 1674 determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX. 1675 16762010-11-04 Alan Modra <amodra@gmail.com> 1677 1678 * config/rs6000/rs6000.c (rs6000_pic_labelno): Make static. 1679 (rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when 1680 TARGET_SECURE_PLT. 1681 * config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare. 1682 * config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint 1683 on input, "r" on output. 1684 16852010-11-02 Ira Rosen <irar@il.ibm.com> 1686 1687 PR tree-optimization/45902 1688 * tree-vectorizer.h (enum stmt_vec_info_type): Add new value for shift. 1689 (vect_get_slp_defs): Add arguments. 1690 * tree-vect-stmts.c (cost_for_stmt): Handle shifts. 1691 (vect_get_vec_def_for_operand): Use operand's 1692 type to determine number of units in the created vector. 1693 (vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs. 1694 (vectorizable_shift): New function. 1695 (vectorizable_operation): Move code that handles shifts to 1696 vectorizable_shift. 1697 (vectorizable_type_demotion): Pass scalar operands to 1698 vect_get_slp_defs. 1699 (vectorizable_type_promotion, vectorizable_store): Likewise. 1700 (vect_analyze_stmt): Call vectorizable_shift. 1701 (vect_transform_stmt): Likewise. 1702 * tree-vect-slp.c (vect_get_constant_vectors): Add new argument. 1703 Use it as the operand to create vectors except for stores. 1704 (vect_get_slp_defs): Add new arguments. Pass them to 1705 vect_get_constant_vectors. 1706 17072010-10-30 Uros Bizjak <ubizjak@gmail.com> 1708 1709 PR middle-end/44569 1710 * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements, 1711 determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX. 1712 17132010-10-30 Uros Bizjak <ubizjak@gmail.com> 1714 1715 PR target/46153 1716 * config/i386/sse.md (sse_movhlps_exp): Use destination 1717 returned from ix86_fixup_binary_operands to expand insn. 1718 (sse_movlhps_exp): Ditto. 1719 (sse_loadhps_exp): Ditto. 1720 (sse_loadlps_exp): Ditto. 1721 (sse2_loadhpd_exp): Ditto. 1722 (sse2_loadlpd_exp): Ditto. 1723 17242010-10-29 Richard Henderson <rth@redhat.com> 1725 1726 PR rtl-opt/46226 1727 * stmt.c (expand_asm_operands): Call do_pending_stack_adjust 1728 for asm goto. 1729 17302010-10-27 Eric Botcazou <ebotcazou@adacore.com> 1731 1732 * config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust 1733 for newer Solaris 10 release. 1734 (sparc_fallback_frame_state): Likewise. 1735 17362010-10-26 Ira Rosen <irar@il.ibm.com> 1737 1738 PR tree-optimization/46167 1739 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that 1740 there is basic block for the statement. 1741 17422010-10-24 Eric Botcazou <ebotcazou@adacore.com> 1743 1744 * reg-stack.c (convert_regs_1): Return boolean value, true if the CFG 1745 has been modified. 1746 (convert_regs_2): Likewise. Adjust calls to convert_regs_1. 1747 (convert_regs): Adjust calls to convert_regs_2. Clean up the CFG if 1748 it has been modified. 1749 17502010-10-22 Uros Bizjak <ubizjak@gmail.com> 1751 1752 PR target/46098 1753 * config/i386/sse.md (*avx_movup<avxmodesuffixf2c><avxmodesuffix>): 1754 Rename from avx_movup<avxmodesuffixf2c><avxmodesuffix>. 1755 (avx_movup<avxmodesuffixf2c><avxmodesuffix>): New expander. 1756 (*<sse>_movup<ssemodesuffixf2c>): Rename from 1757 <sse>_movup<ssemodesuffixf2c>. 1758 (<sse>_movup<ssemodesuffixf2c>): New expander. 1759 (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>. 1760 (avx_movdqu<avxmodesuffix>): New expander. 1761 (*sse2_movdqu): Rename from sse2_movdqu. 1762 (sse2_movdqu): New expander. 1763 17642010-10-22 Uros Bizjak <ubizjak@gmail.com> 1765 1766 PR target/45946 1767 * config/i386/i386.md (*pushti2): New insn pattern. 1768 (pushti2 splitter): New insn splitter. 1769 17702010-10-20 Vladimir Makarov <vmakarov@redhat.com> 1771 1772 PR fortran/42169 1773 * ira-emit.c (store_can_be_removed_p): Return false instead of 1774 gcc_unreachable. 1775 17762010-10-20 Eric Botcazou <ebotcazou@adacore.com> 1777 1778 * stor-layout.c (skip_simple_constant_arithmetic): New function. 1779 (self_referential_size): Use it instead of skip_simple_arithmetic. 1780 17812010-10-18 Jakub Jelinek <jakub@redhat.com> 1782 1783 PR middle-end/46019 1784 * fold-const.c (fold_binary_loc): If integer_pow2p has 1785 TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH. 1786 17872010-10-16 Eric Botcazou <ebotcazou@adacore.com> 1788 1789 * gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be 1790 ignored for debug info purposes, do not clear the DECL_IGNORED_P flag 1791 on the bounds of its domain. 1792 * tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically. 1793 17942010-10-15 Joseph Myers <joseph@codesourcery.com> 1795 1796 * doc/extend.texi (Variable Length): Don't refer to VLAs not 1797 conforming to C99. 1798 17992010-10-14 Joseph Myers <joseph@codesourcery.com> 1800 1801 PR c/45969 1802 * c-typeck.c (build_binary_op): Don't try to compute a semantic 1803 type with excess precision for boolean operations. 1804 18052010-10-13 Richard Guenther <rguenther@suse.de> 1806 Joern Rennecke <joern.rennecke@embecosm.com> 1807 1808 PR debug/44832 1809 * tree-ssa-live.c (mark_all_vars_used_1): Set TREE_USED for 1810 LABEL_DECL. 1811 (remove_unused_scope_block_p): Don't drop TREE_USED LABEL_DECLs 1812 unless they have DECL_IGNORED_P set. 1813 18142010-10-13 Richard Guenther <rguenther@suse.de> 1815 1816 PR tree-optimization/45982 1817 * tree-ssa-structalias.c (make_constraints_to): New function. 1818 (make_constraint_to): Implement in terms of make_constraints_to. 1819 (find_func_aliases): Properly make return values of pure/const 1820 functions escape if they assign to sth that is not a pointer. 1821 18222010-10-11 Alexandre Oliva <aoliva@redhat.com> 1823 1824 PR debug/45656 1825 * cse.c (cse_extended_basic_block): Preserve cc0 info across 1826 debug isnsn. Skip them when searching for cc0 setter. 1827 (set_live_p): Skip debug insns when searching for cc0 user. 1828 18292010-10-09 Ralf Cors��pius <ralf.corsepius@rtems.org> 1830 1831 * config.gcc (bfin*-rtems*): Add newlib-stdint.h. 1832 * config.gcc (lm32*-rtems*): Add newlib-stdint.h. 1833 18342010-10-07 Richard Guenther <rguenther@suse.de> 1835 1836 PR middle-end/45869 1837 * tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts 1838 of pointers. 1839 18402010-10-07 Richard Guenther <rguenther@suse.de> 1841 1842 Backport from mainline 1843 2010-09-07 Richard Guenther <rguenther@suse.de> 1844 1845 PR middle-end/45569 1846 * tree-eh.c (operation_could_trap_helper_p): Neither COMPLEX_EXPR 1847 nor CONSTRUCTOR can trap. 1848 * tree-complex.c (update_complex_assignment): Update EH info. 1849 18502010-10-06 Jack Howarth <howarth@bromo.med.uc.edu> 1851 1852 Backport from mainline 1853 2010-04-26 Jack Howarth <howarth@bromo.med.uc.edu> 1854 1855 PR 43715 1856 * configure.ac: Pass -g for export_sym_check on darwin. 1857 Use "-undefined dynamic_lookup" on darwin. 1858 * configure: Regenerate. 1859 18602010-10-05 Ira Rosen <irar@il.ibm.com> 1861 1862 PR tree-optimization/45752 1863 * tree-vect-slp.c (vect_get_mask_element): Remove static 1864 variables, make them function arguments. 1865 (vect_transform_slp_perm_load): Pass new arguments to 1866 vect_get_mask_element. 1867 18682010-10-04 Matthias Klose <doko@ubuntu.com> 1869 1870 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the 1871 multilib osdirname if it exists. 1872 * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise. 1873 18742010-10-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1875 1876 PR target/45820 1877 * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands 1878 earlier. 1879 18802010-10-01 Richard Guenther <rguenther@suse.de> 1881 1882 PR tree-optimization/45854 1883 * tree-eh.c (cleanup_empty_eh): Avoid degenerate case. 1884 18852010-09-30 Jakub Jelinek <jakub@redhat.com> 1886 1887 PR target/45843 1888 * config/i386/i386.c (ix86_gimplify_va_arg): Use 1889 INTVAL (XEXP (slot, 1)) as prev_size. 1890 18912010-09-29 Kai Tietz <kai.tietz@onevision.com> 1892 1893 * config/i386/mingw32.h (TARGET_64BIT): replaced by 1894 TARGET_64BIT_DEFAULT in #if check. 1895 18962010-09-28 Richard Henderson <rth@redhat.com> 1897 1898 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes 1899 when 8 bytes are requested. 1900 19012010-09-27 Richard Sandiford <rdsandiford@googlemail.com> 1902 1903 Backport from mainline: 1904 1905 2010-05-19 James E. Wilson <wilson@codesourcery.com> 1906 1907 PR target/43764 1908 * config/mips/mips.c (mips_call_expr_from_insn): New arg second_call. 1909 Set it. 1910 (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn. 1911 Use it. 1912 19132010-09-27 Richard Sandiford <rdsandiford@googlemail.com> 1914 1915 PR rtl-optimization/43358 1916 * ira-lives.c (process_single_reg_class_operands): Adjust the costs 1917 of a single hard register, using simplify_subreg_regno to decide 1918 what that register should be. 1919 19202010-09-25 Eric Botcazou <ebotcazou@adacore.com> 1921 1922 * tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new 1923 statements because of the return slot optimization. 1924 19252010-09-24 Jakub Jelinek <jakub@redhat.com> 1926 1927 Revert: 1928 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> 1929 1930 PR middle-end/45234 1931 * calls.c (expand_call): Make sure that all variable sized 1932 adjustments are multiple of preferred stack boundary after 1933 stack alignment. 1934 19352010-09-23 Eric Botcazou <ebotcazou@adacore.com> 1936 1937 Backport from mainline 1938 2010-09-02 Olivier Hainque <hainque@adacore.com> 1939 1940 PR middle-end/44763 1941 * ira-color.c (SORTGT): New macro, helper for qsort callbacks. 1942 (allocno_priority_compare_func): Use it instead of a straight 1943 difference computation over priorities. 1944 19452010-09-22 Eric Botcazou <ebotcazou@adacore.com> 1946 1947 PR java/44095 1948 * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch 1949 is specified and the suffix of the file isn't ".c". 1950 * config/sparc/linux64.h (ASM_SPEC): Likewise. 1951 19522010-09-22 Eric Botcazou <ebotcazou@adacore.com> 1953 1954 PR target/35664 1955 * config/sparc/constraints.md ('e'): Return NO_REGS if !TARGET_FPU. 1956 ('f'): Likewise. 1957 19582010-09-21 Hans-Peter Nilsson <hp@axis.com> 1959 1960 PR rtl-optimization/41085 1961 Backport from mainline 1962 2010-07-27 Bernd Schmidt <bernds@codesourcery.com> 1963 1964 PR rtl-optimization/45051 1965 * reload1.c (delete_output_reload): Use refers_to_regno_p rather 1966 than reg_mentioned_p. 1967 19682010-09-21 Kai Tietz <kai.tietz@onevision.com> 1969 1970 PR target/45694 1971 * config/i386/i386.c (ix86_expand_prologue): Save r10 in case that 1972 static chain-register is used for 64-bit. 1973 19742010-09-21 Jakub Jelinek <jakub@redhat.com> 1975 1976 PR middle-end/45678 1977 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If 1978 op0 isn't sufficiently aligned and there is movmisalignM 1979 insn for mode, use it to load op0 into a temporary register. 1980 1981 Backport from mainline 1982 2010-09-20 Jakub Jelinek <jakub@redhat.com> 1983 1984 PR middle-end/45678 1985 * cfgexpand.c (expand_one_stack_var_at): Limit alignment to 1986 crtl->max_used_stack_slot_alignment. 1987 19882010-09-21 Richard Guenther <rguenther@suse.de> 1989 1990 PR middle-end/45704 1991 * gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness. 1992 19932010-09-20 Jakub Jelinek <jakub@redhat.com> 1994 1995 PR rtl-optimization/45728 1996 * expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try 1997 gen_lowpart_common first and if that fails, force_reg first 1998 before calling gen_lowpart. 1999 2000 PR rtl-optimization/45695 2001 * combine.c (try_combine): Don't try to swap the two patterns, if the 2002 chosen order is not possible, just give up. For HAVE_cc0 targets, 2003 check if XVECEXP (newpat, 0, 0) doesn't use REGs or MEMs set by insns 2004 in between i2 and i3. 2005 20062010-09-20 Eric Botcazou <ebotcazou@adacore.com> 2007 2008 PR rtl-optimization/42775 2009 * cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot 2010 scheduling is enabled. 2011 20122010-09-20 H.J. Lu <hongjiu.lu@intel.com> 2013 2014 Backport from mainline 2015 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> 2016 2017 PR middle-end/45234 2018 * calls.c (expand_call): Make sure that all variable sized 2019 adjustments are multiple of preferred stack boundary after 2020 stack alignment. 2021 20222010-09-20 Rafael Carre <rafael.carre@gmail.com> 2023 2024 PR target/45726 2025 * arm.md (arm_movtas_ze): Only enable on machine with MOVT. 2026 20272010-09-20 Richard Guenther <rguenther@suse.de> 2028 2029 PR tree-optimization/45623 2030 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust. 2031 (get_constraint_for_component_ref): If computing a constraint 2032 for the rhs handle type punning through unions. 2033 (get_constraint_for_address_of): Adjust. 2034 (get_constraint_for_1): Likewise. 2035 (get_constraint_for): Likewise. 2036 (get_constraint_for_rhs): New function. 2037 (do_structure_copy): Adjust. 2038 (make_constraint_to): Likewise. 2039 (handle_const_call): Likewise. 2040 (find_func_aliases): Likewise. 2041 20422010-09-18 Richard Guenther <rguenther@suse.de> 2043 2044 PR tree-optimization/45709 2045 * tree-inline.c (copy_phis_for_bb): Delay commit of edge 2046 insertions until after all PHI nodes of the block are processed. 2047 20482010-09-18 H.J. Lu <hongjiu.lu@intel.com> 2049 2050 Backport from mainline 2051 2010-04-07 Dodji Seketeli <dodji@redhat.com> 2052 2053 PR debug/43628 2054 * dwarf2out.c (modified_type_die): Ignore artificial typedefs. 2055 20562010-09-18 Richard Guenther <rguenther@suse.de> 2057 2058 PR tree-optimization/45709 2059 * tree-inline.c (copy_phis_for_bb): Fixup new_edge when 2060 we splitted it. 2061 20622010-09-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2063 2064 Backport from mainline: 2065 2010-09-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2066 2067 * doc/sourcebuild.texi (Effective-Target Keywords): Document 2068 run_expensive_tests. 2069 20702010-09-15 Eric Botcazou <ebotcazou@adacore.com> 2071 2072 PR rtl-optimization/45593 2073 * reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit 2074 insns that were in delay slots as stand-alone insns. 2075 20762010-09-14 Tristan Gingold <gingold@adacore.com> 2077 2078 * configure.ac (plugins): Fix typos. 2079 * configure: Regenerate. 2080 20812010-09-14 Jakub Jelinek <jakub@redhat.com> 2082 2083 PR middle-end/45567 2084 * builtins.c (expand_builtin_interclass_mathfn, expand_builtin_cexpi, 2085 expand_builtin_powi): Remove subtarget argument, pass NULL_RTX instead. 2086 (expand_builtin): Adjust caller. 2087 (expand_builtin_unop): Only use subtarget if it has the right mode. 2088 2089 PR debug/45660 2090 * dwarf2out.c (gen_decl_die): Call gen_type_die for origin before 2091 gen_type_die for function/method return type. 2092 20932010-09-13 Hans-Peter Nilsson <hp@axis.com> 2094 2095 PR rtl-optimization/41087 2096 * ifcvt.c (noce_get_condition): Don't allow conditions with 2097 side-effects. 2098 20992010-09-12 Alexander Monakov <amonakov@ispras.ru> 2100 2101 Backport from mainline 2102 2010-09-06 Andrey Belevantsev <abel@ispras.ru> 2103 2104 PR rtl-optimization/44919 2105 * sel-sched.c (move_cond_jump): Remove assert, check that 2106 the several blocks case can only happen with mutually exclusive 2107 insns instead. Rewrite the movement code to support moving through 2108 several basic blocks. 2109 21102010-09-10 Jack Howarth <howarth@bromo.med.uc.edu> 2111 2112 Backport from mainline 2113 2010-09-07 H.J. Lu <hjl.tools@gmail.com> 2114 Jack Howarth <howarth@bromo.med.uc.edu> 2115 2116 PR target/36502 2117 PR target/42313 2118 PR target/44651 2119 * config/i386/darwin.h (STACK_BOUNDARY): Redefine as 128 for 2120 profiling or 64-bit MS_ABI and as BITS_PER_WORD otherwise. 2121 (PREFERRED_STACK_BOUNDARY): Replace STACK_BOUNDARY with 128 in 2122 MAX macro. 2123 21242010-09-09 Vladimir Makarov <vmakarov@redhat.com> 2125 2126 PR middle-end/45312 2127 * reload1.c (merge_assigned_reloads): Remove. 2128 (reload_as_needed): Don't call it. 2129 21302010-09-09 Matthias Klose <doko@ubuntu.com> 2131 2132 PR bootstrap/43847 2133 * configure.ac (--enable-plugin): Enhance for cross builds. 2134 * configure: Regenerate. 2135 21362010-09-09 Vladimir Makarov <vmakarov@redhat.com> 2137 2138 PR middle-end/44554 2139 * ira.c (ira): Switch off sharing spill slots if setjmp is called. 2140 21412010-09-08 Vladimir Makarov <vmakarov@redhat.com> 2142 2143 PR middle-end/40386 2144 * ira.c (pseudo_for_reload_consideration_p): Don't use 2145 flag_ira_share_spill_slots. 2146 21472010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 2148 2149 * config/s390/s390.c (legitimate_reload_constant_p): Accept floating- 2150 point zero operands that fit into a single GPR. 2151 (s390_preferred_reload_class): Ensure we only return general-purpose 2152 register classes. 2153 * config/s390/s390.md ("*mov<mode>_64dfp"): Use lghi to load 2154 floating-point zero operands into GPRs. 2155 ("*mov<mode>_64"): Likewise. 2156 ("mov<mode>"): Likewise using lhi. 2157 21582010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 2159 2160 * config/s390/s390.c (s390_symref_operand_p): Return false for 2161 literal pool references. 2162 (s390_check_qrst_address): Update caller. 2163 21642010-09-08 Martin Jambor <mjambor@suse.cz> 2165 2166 PR other/45443 2167 * doc/invoke.texi: Add -fipa-cp-clone to list of switches turned on 2168 at -O3. 2169 21702010-09-03 Jakub Jelinek <jakub@redhat.com> 2171 2172 PR middle-end/45484 2173 * dwarf2out.c (flush_queued_reg_saves): Rename to... 2174 (dwarf2out_flush_queued_reg_saves): ... this. No longer static. 2175 (dwarf2out_frame_debug): Adjust callers. 2176 * dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype. 2177 * config/i386/i386.c (output_set_got): Call it. 2178 2179 PR debug/45500 2180 * dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors, 2181 not just generic vectors with BLKmode. 2182 21832010-09-02 Ian Bolton <ian.bolton@arm.com> 2184 2185 Backport from mainline 2186 2010-09-01 Ian Bolton <ian.bolton@arm.com> 2187 2188 * Makefile.in (tree-switch-conversion.o): Update dependencies. 2189 2190 2010-08-19 Ian Bolton <ian.bolton@arm.com> 2191 2192 PR target/45070 2193 * config/arm/arm.c (arm_output_epilogue): Ensure that return 2194 value of size 1-3 is handled correctly. 2195 2196 2010-08-19 Ian Bolton <ian.bolton@arm.com> 2197 2198 * tree-switch-conversion.c (gen_inbound_check): Ensure that the 2199 type for the conditional has wide enough range. 2200 2201 2010-08-07 Marcus Shawcroft <marcus.shawcroft@arm.com> 2202 2203 * config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with 2204 'unsigned short' and 'unsigned char' instead of 'short' and 'char'. 2205 (SUBWORD_BOOL_CAS): Likewise. 2206 (SUBWORD_SYNC_OP): Likewise. 2207 (SUBWORD_TEST_AND_SET): Likewise. 2208 (FETCH_AND_OP_WORD): Parenthesise INF_OP 2209 (SUBWORD_SYNC_OP): Likewise. 2210 (OP_AND_FETCH_WORD): Likewise. 2211 22122010-09-01 Jakub Jelinek <jakub@redhat.com> 2213 2214 PR middle-end/45458 2215 * bb-reorder.c (add_labels_and_missing_jumps): Treat 2216 bbs ending with throwing insns like blocks ending with a call. 2217 (fix_up_fall_thru_edges): Likewise. 2218 22192010-09-01 Eric Botcazou <ebotcazou@adacore.com> 2220 2221 * gimplify.c (gimplify_init_constructor): Do not create a temporary for 2222 a volatile LHS if the constructor has only one element. 2223 22242010-08-31 Eric Botcazou <ebotcazou@adacore.com> 2225 2226 * tree-nested.c (convert_all_function_calls): Iterate until after the 2227 sum of static chains in the nest doesn't change. 2228 22292010-08-31 Eric Botcazou <ebotcazou@adacore.com> 2230 2231 Backport from mainline 2232 2010-08-20 Jakub Jelinek <jakub@redhat.com> 2233 2234 PR rtl-optimization/45353 2235 * sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn 2236 after bb_note is a BARRIER. 2237 22382010-08-30 Jakub Jelinek <jakub@redhat.com> 2239 2240 PR middle-end/45423 2241 * gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR 2242 and TRUTH_{AND,OR,XOR}_EXPR. 2243 * c-parser.c (c_parser_omp_atomic): Handle boolean 2244 {PRE,POST}_{INC,DEC}REMENT. 2245 22462010-08-30 Jakub Jelinek <jakub@redhat.com> 2247 2248 Backport from mainline 2249 2010-07-27 Jakub Jelinek <jakub@redhat.com> 2250 2251 PR c/45079 2252 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR. 2253 22542010-08-30 H.J. Lu <hongjiu.lu@intel.com> 2255 2256 Backport from mainline 2257 2010-08-25 Richard Guenther <rguenther@suse.de> 2258 2259 PR tree-optimization/45393 2260 * tree-ssa-math-opts.c (execute_cse_sincos_1): Properly transfer 2261 and clean EH info. Avoid SSA update. 2262 (execute_cse_sincos): Cleanup the CFG if it has changed. 2263 22642010-08-28 Eric Botcazou <ebotcazou@adacore.com> 2265 2266 * config/ia64/ia64.md (cstorebi4): Fix thinko. 2267 22682010-08-28 Uros Bizjak <ubizjak@gmail.com> 2269 2270 PR target/41484 2271 * config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory 2272 operands for operand 1. 2273 (sse4_1_extendv4qiv4si2): Ditto. 2274 (sse4_1_extendv2qiv2di2): Ditto. 2275 (sse4_1_extendv4hiv4si2): Ditto. 2276 (sse4_1_extendv2hiv2di2): Ditto. 2277 (sse4_1_extendv2siv2di2): Ditto. 2278 (sse4_1_zero_extendv8qiv8hi2): Ditto. 2279 (sse4_1_zero_extendv4qiv4si2): Ditto. 2280 (sse4_1_zero_extendv2qiv2di2): Ditto. 2281 (sse4_1_zero_extendv4hiv4si2): Ditto. 2282 (sse4_1_zero_extendv2hiv2di2): Ditto. 2283 (sse4_1_zero_extendv2siv2di2): Ditto. 2284 (*sse4_1_extendv8qiv8hi2): Remove insn pattern. 2285 (*sse4_1_extendv4qiv4si2): Ditto. 2286 (*sse4_1_extendv2qiv2di2): Ditto. 2287 (*sse4_1_extendv4hiv4si2): Ditto. 2288 (*sse4_1_extendv2hiv2di2): Ditto. 2289 (*sse4_1_extendv2siv2di2): Ditto. 2290 (*sse4_1_zero_extendv8qiv8hi2): Ditto. 2291 (*sse4_1_zero_extendv4qiv4si2): Ditto. 2292 (*sse4_1_zero_extendv2qiv2di2): Ditto. 2293 (*sse4_1_zero_extendv4hiv4si2): Ditto. 2294 (*sse4_1_zero_extendv2hiv2di2): Ditto. 2295 (*sse4_1_zero_extendv2siv2di2): Ditto. 2296 22972010-08-25 Jakub Jelinek <jakub@redhat.com> 2298 2299 PR rtl-optimization/44858 2300 * combine.c (try_combine): If recog_for_combine added CLOBBERs to 2301 newi2pat, make sure they don't affect newpat. 2302 2303 PR rtl-optimization/45400 2304 * combine.c (simplify_shift_const_1) <case SUBREG>: Only use 2305 SUBREG_REG if both modes are of MODE_INT class. 2306 23072010-08-20 Changpeng Fang <changpeng.fang@amd.com> 2308 2309 PR tree-optimization/45260 2310 * tree-flow.h (may_be_nonaddressable_p): New definition. Make the 2311 existing static function global. 2312 2313 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function 2314 is changed to global. 2315 2316 * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call 2317 may_be_nonaddressable_p on base, and don't collect this reference 2318 if the address of the base could not be taken. 2319 23202010-08-20 David Edelsohn <edelsohn@gnu.org> 2321 2322 Backport from mainline 2323 2010-04-22 David Edelsohn <edelsohn@gnu.org> 2324 2325 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS. 2326 23272010-08-19 Uros Bizjak <ubizjak@gmail.com> 2328 2329 * config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use 2330 ix86_binary_operator_ok. 2331 23322010-08-18 Uros Bizjak <ubizjak@gmail.com> 2333 2334 PR target/45327 2335 * config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use 2336 ix86_binary_operator_ok. 2337 23382010-08-18 H.J. Lu <hongjiu.lu@intel.com> 2339 2340 Backport from mainline 2341 2010-08-18 Paolo Bonzini <bonzini@gnu.org> 2342 2343 PR middle-end/45292 2344 * optabs.c (expand_bool_compare_and_swap): Expand pending 2345 pops before trying the optab. 2346 23472010-08-17 Uros Bizjak <ubizjak@gmail.com> 2348 2349 PR target/45296 2350 * reginfo.c (globalize_reg): Reject stack registers. 2351 23522010-08-16 Changpeng Fang <changpeng.fang@amd.com> 2353 2354 Backport from mainline: 2355 2010-08-12 Changpeng Fang <changpeng.fang@amd.com> 2356 2357 PR tree-optimization/45241 2358 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give 2359 up dot_prod pattern searching if a stmt is outside the loop. 2360 23612010-08-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2362 2363 Backport from mainline: 2364 2010-08-09 Richard Guenther <rguenther@suse.de> 2365 2366 PR middle-end/44632 2367 * function.c (gimplify_parameters): Do not clear addressable 2368 bit of the original parameter. 2369 23702010-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2371 2372 Revert: 2373 2010-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2374 2375 PR boehm-gc/34544 2376 * gthr-posix.h (__gthread_start): Delete. 2377 (__gthread_active_init): Use pthread_default_stacksize_np instead of 2378 pthread_create to determine if hpux pthreads are active. 2379 * gthr-posix95.h (__gthread_start): Delete. 2380 (__gthread_active_init): Likewise use pthread_default_stacksize_np. 2381 23822010-08-12 Jakub Jelinek <jakub@redhat.com> 2383 2384 PR middle-end/45262 2385 * fold-const.c (make_range) <case NEGATE_EXPR>: Punt if 2386 -a overflows. Normalize the range. 2387 2388 PR debug/45259 2389 * caller-save.c (save_call_clobbered_regs): Only swap notes with 2390 DEBUG_INSNs if n_regs_saved. 2391 2392 Backport from mainline 2393 2010-07-30 Jakub Jelinek <jakub@redhat.com> 2394 2395 PR debug/45055 2396 PR rtl-optimization/45137 2397 * rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New 2398 prototypes. 2399 * emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): 2400 New functions. 2401 * combine.c (next_nonnote_nondebug_insn): Removed. 2402 * ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn. 2403 * haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn. 2404 * sched-deps.c (sched_analyze_insn): Likewise. 2405 (fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn. 2406 * rtlanal.c (canonicalize_condition): Likewise. 2407 * postreload.c (reload_combine): Likewise. 2408 (reload_cse_move2add): Use next_nonnote_nondebug_insn. 2409 24102010-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2411 2412 Backport from mainline. 2413 2010-07-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2414 2415 PR target/44805 2416 * config/pa/pa.h (CONSTANT_ALIGNMENT): Align strings to BITS_PER_WORD 2417 on all targets. 2418 24192010-08-08 Richard Guenther <rguenther@suse.de> 2420 2421 PR middle-end/45034 2422 * convert.c (convert_to_integer): Always use an unsigned 2423 type for narrowed negate and bitwise not. 2424 24252010-08-08 Richard Guenther <rguenther@suse.de> 2426 2427 PR tree-optimization/45109 2428 * tree-ssa-structalias.c (get_constraint_for_component_ref): 2429 Explicitly strip handled components and indirect references. 2430 24312010-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2432 2433 PR boehm-gc/34544 2434 * gthr-posix.h (__gthread_start): Delete. 2435 (__gthread_active_init): Use pthread_default_stacksize_np instead of 2436 pthread_create to determine if hpux pthreads are active. 2437 * gthr-posix95.h (__gthread_start): Delete. 2438 (__gthread_active_init): Likewise use pthread_default_stacksize_np. 2439 24402010-08-06 Eric Botcazou <ebotcazou@adacore.com> 2441 2442 PR target/44942 2443 * config/sparc/sparc.c (function_arg_advance): Always take into account 2444 the padding, if any. 2445 24462010-08-06 Uros Bizjak <ubizjak@gmail.com> 2447 2448 * expmed.c (expand_mult_const) <case alg_shift>: Expand shift into 2449 temporary. Emit move from temporary to accum, so REG_EQUAL note will 2450 be attached to this insn in correct mode. 2451 24522010-08-06 Uros Bizjak <ubizjak@gmail.com> 2453 2454 * config/i386/i386.c (ix86_decompose_address): Check for SI_REG 2455 using REGNO of base_reg directly. 2456 24572010-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 2458 2459 * config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of 2460 non-NOTE insns. 2461 24622010-08-03 Uros Bizjak <ubizjak@gmail.com> 2463 2464 PR target/41089 2465 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset 2466 as volatile. 2467 24682010-08-03 Martin Jambor <mjambor@suse.cz> 2469 2470 PR tree-optimization/44914 2471 * tree-sra.c (cfg_changed): New variable. 2472 (sra_initialize): Initialize cgf_changed to false. 2473 (scan_function): Set cfg_changed if cfg was changed. 2474 (perform_intra_sra): Return also TODO_cleanup_cfg if cfg was changed. 2475 (ipa_early_sra): Likewise. 2476 24772010-08-02 DJ Delorie <dj@redhat.com> 2478 2479 * config/rx/predicates.md (rx_constshift_operand): New. 2480 * config/rx/rx.md (zs_cond): New. 2481 (cbranchsi4): Remove mode. 2482 (*cbranchsi4_<code>): Likewise. 2483 (*tstbranchsi4_<code>): New. 2484 (*tstbranchsi4r_<code>): New. 2485 (*tstbranchsi4m_eq): New. 2486 (*tstbranchsi4m_ne): New. 2487 (cbranchsf4): Remove mode. 2488 (*cbranchsf4_<code>): Likewise. 2489 24902010-07-31 Richard Guenther <rguenther@suse.de> 2491 2492 PR tree-optimization/45052 2493 * ipa-pure-const.c (check_stmt): Check volatileness. 2494 24952010-07-31 Richard Guenther <rguenther@suse.de> 2496 2497 * ipa-prop.c (ipa_modify_formal_parameters): Use 2498 build_distinct_type_copy. 2499 25002010-07-31 Richard Guenther <rguenther@suse.de> 2501 2502 * DEV-PHASE: Set back to prerelease. 2503 * BASE-VER: Bump to 4.5.2. 2504 25052010-07-31 Release Manager 2506 2507 * GCC 4.5.1 released. 2508 25092010-07-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2510 2511 Backport from mainline. 2512 2010-07-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2513 2514 PR target/43698 2515 * config/arm/arm.md: Split arm_rev into *arm_rev and *thumb1_rev. 2516 Set *arm_rev to be predicable. 2517 25182010-07-27 Nick Clifton <nickc@redhat.com> 2519 2520 * Import this patch from the mainline: 2521 2522 2010-06-30 Nick Clifton <nickc@redhat.com> 2523 2524 * config/rx/rx-modes.def: New file. 2525 * config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17. 2526 (CC_REGNUM): Define. 2527 (FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc 2528 register. 2529 (CC_NO_CARRY, NOTICE_UPDATE_CC): Delete. 2530 (SELECT_CC_MODE): Define. 2531 * config/rx/rx.md (CC_REG): Define. Update all patterns to use 2532 (reg:CC CC_REG) instead of (cc0). 2533 (attr "cc"): Delete. 2534 (cbranchsi4): Do not split compare and branch here. Instead move 2535 it to... 2536 (cbranchsi4_<code>): ... here. New patterns. 2537 (cmpsi): Call rx-compare_redundant to find out if it is necessary 2538 to emit the compare instruction. 2539 * config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of 2540 cc_status flags. 2541 (rx_get_stack_layout): Iterate up to before CC_REGNUM not 2542 FIRST_PSEUDO_REGNUM. 2543 (rx_expand_prologue, rx_expand_epilogue): Likewise. 2544 (rx_notice_update_cc): Delete. 2545 (rx_cc_modes_compatible): New function. 2546 (flags_needed_for_conditional): New function. 2547 (flags_from_mode): New function. 2548 (rx_compare_redundant): New function - scans backwards through 2549 insn list to find out if condition flags are already set correctly. 2550 (TARGET_CC_MODES_COMPATIBLE): Define. 2551 * config/rx/rx-protos.h (rx_compare_redundant): Prototype. 2552 2553 * config/rx/rx.h (BRANCH_COST): Define. 2554 (REGISTER_MOVE_COST): Define. 2555 * config/rx/predicates (rx_source_operand): Allow all constant types. 2556 * config/rx/rx.md (addsi3): Add alternative for swapped operands. 2557 (tstsi4): New pattern. 2558 * config/rx/rx.c (rx_memory_move_cost): Define. 2559 (TARGET_MEMORY_MOVE_COST): Define. 2560 25612010-07-23 Jakub Jelinek <jakub@redhat.com> 2562 Richard Guenther <rguenther@suse.de> 2563 2564 PR tree-optimization/45047 2565 * tree-vect-stmts.c (vectorizable_assignment): Return false 2566 if vectype_out is NULL for conversion statement. 2567 25682010-07-22 Jakub Jelinek <jakub@redhat.com> 2569 2570 PR debug/45015 2571 * var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero 2572 ASM_OPERANDS_OUTPUT_IDX. 2573 (adjust_insn): For inline asm with multiple sets ensure first 2574 ASM_OPERANDS vectors are used by all following ASM_OPERANDS in 2575 the insn. 2576 2577 Backport from mainline 2578 2010-07-16 Jakub Jelinek <jakub@redhat.com> 2579 2580 PR target/44942 2581 * config/i386/i386-protos.h (ix86_function_arg_boundary): Change second 2582 argument to const_tree. 2583 * config/i386/i386.c (function_arg_advance): If padding needs to be 2584 inserted before argument, increment cum->words by number of padding 2585 words as well. 2586 (contains_aligned_value_p): Change argument to const_tree. 2587 (ix86_function_arg_boundary): Change second argument to const_tree. 2588 25892010-07-21 Martin Jambor <mjambor@suse.cz> 2590 2591 PR tree-optimization/44900 2592 * tree-sra.c (load_assign_lhs_subreplacements): Updated comments. 2593 (sra_modify_assign): Move gsi to the next statmenent unconditionally. 2594 25952010-07-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2596 2597 Backport from mainline: 2598 2010-07-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2599 2600 * doc/sourcebuild.texi (Effective-Target Keywords): Document 2601 sse_runtime, sse2_runtime. 2602 26032010-07-20 Richard Guenther <rguenther@suse.de> 2604 2605 PR tree-optimization/44977 2606 * tree-ssa-dom.c (propagate_rhs_into_lhs): Do not create invalid 2607 SSA form. 2608 26092010-07-19 Bingfeng Mei <bmei@broadcom.com> 2610 2611 * ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes 2612 of a loop. 2613 * loop-doloop.c (doloop_condition_get): Skip possible debug_insn. 2614 26152010-07-15 Jie Zhang <jie@codesourcery.com> 2616 2617 * config/arm/cortex-a8.md (cortex_a8_load_store_2): Reserve 2618 cortex_a8_issue_ls. 2619 26202010-07-14 Jie Zhang <jie@codesourcery.com> 2621 2622 * config/arm/cortex-a8.md (cortex_a8_alu): Don't use 2623 cortex_a8_default when neon_type is not none. 2624 26252010-07-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2626 2627 Backport from mainline: 2628 2010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2629 2630 * config/i386/i386.c (ix86_sol10_return_in_memory): Rename to 2631 ix86_solaris_return_in_memory. 2632 * config/i386-protos.h: Reflect this. 2633 * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Likewise. 2634 * config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Likewise. 2635 Move ... 2636 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): ... here. 2637 26382010-07-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2639 2640 Backport from mainline: 2641 2010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2642 2643 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to 2644 pentiumpro on Solaris 8 and 9/x86. 2645 * doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as. 2646 Document SSE/SSE2 support. 2647 * doc/sourcebuild.texi (Effective-Target Keywords): Document sse. 2648 26492010-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2650 2651 * config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct 2652 explanation. 2653 Find ucontext_t * on Solaris 11. 2654 (x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern. 2655 Handle new Solaris 11 __sighndlr patterns. 2656 26572010-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2658 2659 Backport from mainline: 2660 2010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2661 2662 PR pch/14940 2663 * config/host-solaris.c (mmap_fixed): New function. 2664 (sol_gt_pch_get_address): Use it. 2665 (sol_gt_pch_use_address): Likewise. 2666 26672010-07-12 Jie Zhang <jie@codesourcery.com> 2668 2669 * config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to 2670 align the stack when it's going to be saved. 2671 26722010-07-11 Kai Tietz <kai.tietz@onevision.com> 2673 2674 Merged back from trunk 2675 * config/i386/winnt.c (i386_pe_file_end): Quote symbol name 2676 in directive -export. 2677 26782010-07-09 Richard Guenther <rguenther@suse.de> 2679 2680 PR tree-optimization/44886 2681 * tree-vect-stmts.c (vectorizable_assignment): Fixup backport 2682 of the fix for PR44284. 2683 26842010-07-09 Richard Guenther <rguenther@suse.de> 2685 2686 Backport from mainline 2687 2010-05-28 Nathan Froyd <froydnj@codesourcery.com> 2688 2689 * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of 2690 build1_stat. 2691 26922010-07-09 Dave Korn <dave.korn.cygwin@gmail.com> 2693 2694 Backport from mainline 2695 2010-05-06 Dave Korn <dave.korn.cygwin@gmail.com> 2696 2697 PR target/43888 2698 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol 2699 handling to still return true for x64 targets. 2700 27012010-07-08 Richard Guenther <rguenther@suse.de> 2702 2703 Backport from mainline 2704 2010-05-27 Richard Guenther <rguenther@suse.de> 2705 2706 PR tree-optimization/44284 2707 * tree-vect-stmts.c (vectorizable_assignment): Handle 2708 sign-changing conversions as simple copy. 2709 2710 2010-07-06 Richard Guenther <rguenther@suse.de> 2711 2712 PR middle-end/44828 2713 * convert.c (convert_to_integer): Watch out for overflowing 2714 MULT_EXPR as well. 2715 27162010-07-07 Duncan Sands <baldrick@free.fr> 2717 2718 PR middle-end/41355 2719 * tree.c (build_function_type_skip_args): Copy the original type using 2720 build_distinct_type_copy rather than copy_node. 2721 27222010-07-06 Alexandre Oliva <aoliva@redhat.com> 2723 2724 * doc/gimple.texi (GIMPLE_DEBUG): Document. 2725 * doc/rtl.texi (Debug Information): New node. 2726 (NOTE_INSN_VAR_LOCATION): Document. 2727 (debug_insn): Likewise. 2728 * doc/generic.texi (DEBUG_EXPR_DECL): Document. 2729 27302010-07-05 Kaz Kojima <kkojima@gcc.gnu.org> 2731 2732 Backport from mainline: 2733 PR target/44531 2734 * config.gcc (sh*-*-*): Use regular expressions instead of 2735 the 'i' modifier for sed substitutions. 2736 27372010-07-05 Mikael Pettersson <mikpe@it.uu.se> 2738 2739 PR bootstrap/44820 2740 * config/arm/arm.c (arm_attr_length_move_neon): Delete regno. 2741 27422010-07-05 Jie Zhang <jie@codesourcery.com> 2743 2744 * config/arm/arm.c (arm_attr_length_move_neon): New. 2745 * config/arm/arm-protos.h (arm_attr_length_move_neon): Declare. 2746 * config/arm/neon.md (define_mode_attr V_slen): Remove. 2747 (neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon 2748 to compute length attribute. 2749 27502010-07-05 Jie Zhang <jie@codesourcery.com> 2751 2752 * config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand 2753 as predicate for operand 1 and remove its constraint. 2754 * config/arm/predicates.md (vfp_register_operand): New. 2755 * config/arm/arm.md (*push_multi): Remove the constraint of 2756 operand 1. 2757 (*push_fp_multi): Likewise. 2758 27592010-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2760 2761 PR target/44597 2762 * config/pa/predicates.md (prefetch_cc_operand): Remove. 2763 (prefetch_nocc_operand): Likewise. 2764 * config/pa/pa.md (prefetch): Revise expander to use prefetch_20. 2765 (prefetch_20): New insn. 2766 (prefetch_cc): Remove. 2767 (prefetch_nocc): Likewise. 2768 2769 PR target/44705 2770 * config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF. 2771 27722010-07-02 Richard Guenther <rguenther@suse.de> 2773 2774 PR middle-end/44777 2775 * tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs. 2776 27772010-07-01 Jakub Jelinek <jakub@redhat.com> 2778 2779 PR debug/44694 2780 * dwarf2out.c (reg_loc_descriptor): For eliminated arg_pointer_rtx 2781 or frame_pointer_rtx use DW_OP_fbreg offset DW_OP_stack_value. 2782 27832010-07-01 Jakub Jelinek <jakub@redhat.com> 2784 2785 Backport from mainline 2786 2010-06-29 Jakub Jelinek <jakub@redhat.com> 2787 2788 PR tree-optimization/43801 2789 * cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME 2790 if old_decl was DECL_ONE_ONLY. 2791 2792 2010-06-21 Jakub Jelinek <jakub@redhat.com> 2793 2794 PR target/44575 2795 * config/i386/i386.c (ix86_gimplify_va_arg): When copying 2796 va_arg from a set of register save slots into a temporary, 2797 if the container is bigger than type size, do the copying 2798 using smaller mode or using memcpy. 2799 2800 2010-05-13 Jakub Jelinek <jakub@redhat.com> 2801 2802 PR debug/44104 2803 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die 2804 if it is NULL. 2805 28062010-06-30 Jan Hubicka <jh@suse.cz> 2807 2808 Backport from mainline 2809 2010-06-27 Jan Hubicka <jh@suse.cz> 2810 2811 PR middle-end/44671 2812 PR middle-end/44686 2813 * tree.c (build_function_decl_skip_args): Clear DECL_BUILT_IN on 2814 signature change. 2815 * ipa-split.c (split_function): Always clear DECL_BUILT_IN. 2816 * ipa-prop.c (ipa_modify_formal_parameters): Likewise. 2817 2818 2010-06-28 Jan Hubicka <jh@suse.cz> 2819 2820 PR tree-optimization/44357 2821 * ipa-inline.c (add_new_edges_to_heap): Do not add edges to uninlinable 2822 functions. 2823 28242010-06-30 Jakub Jelinek <jakub@redhat.com> 2825 2826 Backport from mainline 2827 2010-06-30 Jakub Jelinek <jakub@redhat.com> 2828 2829 PR debug/44694 2830 * cselib.h (cselib_preserve_cfa_base_value): Add regno argument. 2831 * cselib.c (cfa_base_preserved_regno): New static variable. 2832 (cselib_reset_table): Don't reset cfa_base_preserved_regno instead 2833 of REGNO (cfa_base_preserved_val->locs->loc). 2834 (cselib_preserve_cfa_base_value): Add regno argument, set 2835 cfa_base_preserved_regno to it. 2836 (cselib_invalidate_regno): Allow removal of registers other than 2837 cfa_base_preserved_regno from cfa_base_preserved_val. 2838 (cselib_finish): Set cfa_base_preserved_regno to INVALID_REGNUM. 2839 * var-tracking.c (adjust_mems): Replace sp or hfp even outside 2840 of MEM addresses, if not on LHS. 2841 (reverse_op): Don't add reverse ops for cfa_base_rtx. 2842 (vt_init_cfa_base): Adjust cselib_preserve_cfa_base_value caller. 2843 2844 2010-06-25 Jakub Jelinek <jakub@redhat.com> 2845 2846 PR middle-end/43866 2847 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always 2848 true or always false, return NULL_TREE. 2849 (tree_unswitch_single_loop): Optimize conditions even when reaching 2850 max-unswitch-level parameter. If num > 0, optimize first all conditions 2851 using entry checks, then do still reachable block discovery and consider 2852 only conditions in still reachable basic blocks in the loop. 2853 2854 2010-05-12 Jakub Jelinek <jakub@redhat.com> 2855 2856 PR debug/42278 2857 * dwarf2out.c (base_type_die): Don't add name attribute here. 2858 (modified_type_die): Instead of sizetype use 2859 its underlying original type. If a DW_TAG_base_type doesn't 2860 have name added, add __unknown__. 2861 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die, 2862 always call force_type_die instead. 2863 2864 2010-05-11 Jakub Jelinek <jakub@redhat.com> 2865 2866 PR c++/44059 2867 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object 2868 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls. 2869 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise. 2870 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY 2871 on DW.ref.* decls. 2872 28732010-06-30 Martin Jambor <mjambor@suse.cz> 2874 2875 PR tree-optimization/43905 2876 * tree-sra.c (encountered_recursive_call): Removed with all its uses. 2877 (convert_callers): Do not handle recursive calls specially. 2878 (create_abstract_origin): Removed. 2879 (modify_function): Version the call graph node instead of creating 2880 abstract origins and dealing with same_body aliases. 2881 (ipa_sra_preliminary_function_checks): Check whether the function 2882 is versionable. 2883 * Makefile.in (tree-sra.o): Add TREE_INLINE_H to dependencies. 2884 28852010-06-30 Martin Jambor <mjambor@suse.cz> 2886 2887 Backport from mainline 2888 2010-05-29 Jan Hubicka <jh@suse.cz> 2889 2890 * cgraph.c (clone_function_name): Made public. 2891 * cgraph.h (clone_function_name): Declare. 2892 * cgraphunit.c (cgraph_function_versioning): Produce new name. 2893 28942010-06-29 Martin Jambor <mjambor@suse.cz> 2895 2896 Backport from mainline 2897 2010-05-17 Martin Jambor <mjambor@suse.cz> 2898 2899 PR middle-end/44133 2900 * tree-sra.c (create_access_replacement): New parameter rename, mark 2901 the replaement for renaming only when it is true. 2902 (get_access_replacement): Pass true in the rename parameter of 2903 create_access_replacement. 2904 (get_unrenamed_access_replacement): New function. 2905 (replace_uses_with_default_def_ssa_name): New parameter racc, get the 2906 replacement declaration from it. 2907 29082010-06-29 Martin Jambor <mjambor@suse.cz> 2909 2910 Backport from mainline 2911 2010-04-13 Martin Jambor <mjambor@suse.cz> 2912 2913 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function. 2914 (sra_modify_assign): Delete stmts loading dead data even if racc has no 2915 children. Call replace_uses_with_default_def_ssa_name to handle 2916 SSA_NAES on lhs. 2917 29182010-06-27 Jan Hubicka <jh@suse.cz> 2919 2920 Backport inliner heruistic fixes from mainline 2921 2010-05-27 Jan Hubicka <jh@suse.cz> 2922 2923 * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline. 2924 (update_caller_keys): Return early if there are no callers; 2925 only update fibheap when decresing the key. 2926 (update_callee_keys): Avoid recursion. 2927 (decide_inlining_of_small_functions): When badness does not match; 2928 re-insert into fibheap. 2929 2930 2010-05-11 Jan Hubicka <jh@suse.cz> 2931 2932 PR tree-optimize/44063 2933 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of 2934 queue. 2935 2936 2010-04-13 Jan Hubicka <jh@suse.cz> 2937 2938 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting 2939 of optimized out static functions. 2940 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the 2941 cost computation. Also sanity check for overflows. 2942 (update_caller_keys): Update cgraph_edge_badness call; properly 2943 update fibheap and sanity check that it is up to date. 2944 (add_new_edges_to_heap): Update cgraph_edge_badness. 2945 (cgraph_decide_inlining_of_small_function): Likewise; 2946 add sanity checking that badness in heap is up to date; 2947 improve dumping of reason; Update badness of calls to the 2948 offline copy of function currently inlined; dump badness 2949 of functions not inlined because of unit growth limits. 2950 29512010-06-27 Richard Guenther <rguenther@suse.de> 2952 2953 PR tree-optimization/44683 2954 * tree-ssa-dom.c (record_edge_info): Record equivalences for the 2955 false edge from the inverted condition. 2956 29572010-06-27 Eric Botcazou <ebotcazou@adacore.com> 2958 2959 Backport from mainline 2960 2010-05-18 Vladimir Makarov <vmakarov@redhat.com> 2961 2962 PR rtl-optimization/43332 2963 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier. 2964 29652010-06-27 Richard Guenther <rguenther@suse.de> 2966 2967 PR middle-end/44684 2968 * tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs. 2969 (stmt_may_clobber_ref_p_1): Do not bother to call the oracle 2970 for register LHS. Or non-store assignments. 2971 29722010-06-26 Richard Guenther <rguenther@suse.de> 2973 2974 PR tree-optimization/44393 2975 * tree-loop-distribution.c (generate_loops_for_partition): Fix 2976 stmt removal and VOP renaming. 2977 (generate_memset_zero): Remove redundant stmt updating. 2978 * tree-flow.h (mark_virtual_ops_in_bb): Remove. 2979 * tree-cfg.c (mark_virtual_ops_in_bb): Likewise. 2980 29812010-06-26 Richard Guenther <rguenther@suse.de> 2982 2983 PR middle-end/44674 2984 * tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of 2985 decls. Handle LABEL_DECLs like FUNCTION_DECLs. 2986 29872010-06-25 Alexandre Oliva <aoliva@redhat.com> 2988 2989 PR debug/44610 2990 * simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base 2991 address if the offset is unknown. 2992 29932010-06-25 Richard Guenther <rguenther@suse.de> 2994 2995 Backport from mainline 2996 2010-06-16 Richard Guenther <rguenther@suse.de> 2997 2998 PR c/44555 2999 * c-common.c (c_common_truthvalue_conversion): Remove 3000 premature and wrong optimization concering ADDR_EXPRs. 3001 30022010-06-24 Steven Bosscher <steven@gcc.gnu.org> 3003 3004 Backport from mainline: 3005 2010-05-18 Steven Bosscher <steven@gcc.gnu.org> 3006 3007 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add 3008 lto-macho as lto_binary_reader. 3009 * target.h (struct gcc_target): New hooks lto_start and lto_end. 3010 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define. 3011 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation 3012 in lto_start and lto_end calls. 3013 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O 3014 magic numbers. 3015 (scan_prog_file): Update is_elf_or_coff call. 3016 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document. 3017 3018 * collect2.c (main): Fix enum comparison. 3019 3020 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end): 3021 Add prototypes. 3022 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker. 3023 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START 3024 and TARGET_ASM_LTO_END. 3025 * darwin.c: Include obstack.h and lto-streamer.h. 3026 (lto_section_names_offset, lto_section_names_obstack, 3027 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static 3028 global variables. 3029 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines. 3030 (darwin_asm_lto_start): New function. Redirect output to asm_out_file 3031 to a temporary file. 3032 (darwin_asm_lto_end): New function. Restore asm_out_file. 3033 (darwin_asm_named_section): For LTO sections, replace the name with 3034 the offset of the section name in a string table, and build this 3035 table. 3036 (darwin_file_start): Initialize global vars for LTO support. 3037 (darwin_file_end): If output to asm_out_file was redirected, append it 3038 to the proper asm_out_file here. Add the section names section. 3039 3040 Backport from mainline: 3041 2010-05-18 Steven Bosscher <steven@gcc.gnu.org> 3042 3043 * darwin.c (darwin_asm_named_section): Do not add assembler comment 3044 after .section directive; just print it before the directive 3045 instead. 3046 30472010-06-22 Eric Botcazou <ebotcazou@adacore.com> 3048 3049 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the 3050 new statement and adjust VDEF only if necessary. Remove superfluous 3051 call to maybe_clean_or_replace_eh_stmt. 3052 * gimple.c (gimple_call_copy_skip_args): Use gimple_call_copy_flags to 3053 copy the flags. 3054 * gimple-iterator.c (gsi_replace): Clear BB of old statement here... 3055 * tree-inline.c (copy_bb): ...and not there. 3056 30572010-06-22 H.J. Lu <hongjiu.lu@intel.com> 3058 3059 Backport from mainline 3060 2010-06-22 H.J. Lu <hongjiu.lu@intel.com> 3061 3062 * config/i386/i386.md (unit): Also check sseishft1. 3063 30642010-06-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3065 3066 PR target/39690 3067 * config/pa/pa.c (override_options): Disable 3068 -freorder-blocks-and-partition. 3069 30702010-06-21 H.J. Lu <hongjiu.lu@intel.com> 3071 3072 Backport from mainline 3073 2010-06-21 H.J. Lu <hongjiu.lu@intel.com> 3074 3075 PR target/44615 3076 * config/i386/atom.md (atom_sseishft_2): Also check sseishft1. 3077 3078 * config/i386/i386.md (type): Add sseishft1 3079 3080 * config/i386/ppro_insn (ppro_insn): Also check sseishft1. 3081 (ppro_insn_load): Likewise. 3082 (ppro_insn_store): Likewise. 3083 (ppro_insn_both): Likewise. 3084 3085 * config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit. 3086 (*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1 3087 for type. 3088 (*vec_extractv2di_1_avx): Likewise. 3089 (*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for 3090 type. Remove atom_unit. 3091 (*vec_extractv2di_1_sse2): Likewise. 3092 30932010-06-21 Jakub Jelinek <jakub@redhat.com> 3094 3095 PR bootstrap/44426 3096 * sel-sched-dump.h (sel_prepare_string_for_dot_label): Remove 3097 prototype. 3098 (sel_print_to_dot): Remove macro. 3099 (sel_print): Likewise. New prototype. 3100 * sel-sched-dump.c (sel_prepare_string_for_dot_label): Make static. 3101 (sel_print): New function. 3102 31032010-06-21 Uros Bizjak <ubizjak@gmail.com> 3104 3105 PR target/44546 3106 * config/i386/predicates.md (ix86_swapped_fp_comparsion_operator): 3107 New predicate. 3108 * config/i386/i386.md (*fp_jcc_8<mode>_387 and splitters): Use 3109 ix86_swapped_fp_comparsion_operator instead of 3110 ix86_fp_comparison_operator. 3111 3112 (*fp_jcc_1_387): Rename from *fp_jcc_3_387. 3113 (*fp_jcc_1r_387): Rename from *fp_jcc_4_387. 3114 (*fp_jcc_2_387): Rename from *fp_jcc_5_387. 3115 (*fp_jcc_2r_387): Rename from *fp_jcc_6_387. 3116 (*fp_jcc_3_387): Rename from *fp_jcc_7_387. 3117 (*fp_jcc_4_<mode>_387): Rename from *fp_jcc_8<mode>_387. 3118 31192010-06-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3120 3121 Backport from mainline 3122 2010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3123 3124 PR target/44261 3125 * config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns. 3126 (negdf2): Adjust expander pattern and use negdf2_slow. 3127 (negsf2): Likewise. 3128 31292010-06-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3130 3131 PR target/43740 3132 * config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag 3133 for SET source operand from SET destination operand. 3134 31352010-06-16 Martin Jambor <mjambor@suse.cz> 3136 3137 PR lto/44464 3138 * tree-sra.c (replace_removed_params_ssa_names): Call release_ssa_name 3139 on the newly dead SSA name. 3140 31412010-06-15 Eric Botcazou <ebotcazou@adacore.com> 3142 3143 Backport from mainline 3144 2010-06-09 Eric Botcazou <ebotcazou@adacore.com> 3145 3146 PR rtl-optimization/42461 3147 * dce.c (deletable_insn_p): Return true for const or pure calls again. 3148 * except.c (insn_could_throw_p): Return false if !flag_exceptions. 3149 31502010-06-15 Eric Botcazou <ebotcazou@adacore.com> 3151 3152 Backport from mainline 3153 2010-06-11 Sandra Loosemore <sandra@codesourcery.com> 3154 3155 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the 3156 computed cost. 3157 31582010-06-15 Jakub Jelinek <jakub@redhat.com> 3159 3160 PR fortran/44536 3161 * langhooks.h (struct lang_hooks_for_decls): Add omp_report_decl. 3162 * langhooks-def.h (LANG_HOOKS_OMP_REPORT_DECL): Define. 3163 (LANG_HOOKS_DECLS): Add it. 3164 * gimplify.c (omp_notice_variable): Call 3165 lang_hooks.decls.omp_report_decl. 3166 31672010-06-15 Martin Jambor <mjambor@suse.cz> 3168 3169 PR tree-optimization/44258 3170 * tree-sra.c (build_access_subtree): Return false iff there is a 3171 partial overlap. 3172 (build_access_trees): Likewise. 3173 (analyze_all_variable_accesses): Disqualify candidates if 3174 build_access_trees returns true for them. 3175 31762010-06-15 Martin Jambor <mjambor@suse.cz> 3177 3178 PR tree-optimization/44423 3179 * tree-sra.c (dump_access): Dump also grp_assignment_read. 3180 (analyze_access_subtree): Pass negative allow_replacements to children 3181 if the current type is scalar. 3182 31832010-06-14 Andreas Schwab <schwab@linux-m68k.org> 3184 3185 Backport from mainline 3186 * config/m68k/m68k.c (m68k_delegitimize_address): Don't do 3187 anything if the argument is not a MEM. 3188 31892010-06-14 H.J. Lu <hongjiu.lu@intel.com> 3190 3191 Backport from mainline 3192 2010-06-14 H.J. Lu <hongjiu.lu@intel.com> 3193 3194 PR target/44534 3195 * config/i386/sse.md (vec_extract_lo_<mode>): Replace 0x1 with 0x0. 3196 (vec_extract_lo_v16hi): Likewise. 3197 (vec_extract_lo_v32qi): Likewise. 3198 31992010-06-14 Jakub Jelinek <jakub@redhat.com> 3200 3201 PR bootstrap/44426 3202 * tree.h (build_call_expr): Don't define as vararg macro, instead 3203 add a prototype. 3204 * builtins.c (build_call_nofold): Remove. 3205 (expand_builtin_int_roundingfn, expand_builtin_pow, 3206 expand_builtin_mempcpy_args, expand_builtin_stpcpy, 3207 expand_builtin_memset_args, expand_builtin_strcmp, 3208 expand_builtin_strncmp, expand_builtin_memory_chk): Use 3209 build_call_nofold_loc instead of build_call_nofold. 3210 (build_call_expr): New function. 3211 3212 PR tree-optimization/44508 3213 * tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE argument. 3214 * tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE, 3215 don't eliminate trivially dead stmts. 3216 * tree-vrp.c (vrp_finalize): Pass false as last argument 3217 to substitute_and_fold. 3218 * tree-ssa-copy.c (fini_copy_prop): Pass true as last argument 3219 to substitute_and_fold. 3220 * tree-ssa-ccp.c (ccp_finalize): Likewise. 3221 32222010-06-14 Ira Rosen <irar@il.ibm.com> 3223 3224 PR tree-optimization/44507 3225 * tree-vect-loop.c (get_initial_def_for_reduction): Use -1 3226 to build initial vector for BIT_AND_EXPR. 3227 32282010-06-14 Dave Korn <dave.korn.cygwin@gmail.com> 3229 3230 Backport from mainline: 3231 2010-04-27 Dave Korn <dave.korn.cygwin@gmail.com> 3232 3233 PR lto/42776 3234 * configure.ac (gcc_cv_as_section_has_align): Set if installed 3235 binutils supports extended .section directive needed by LTO, or 3236 warn if older binutils found. 3237 (LTO_BINARY_READER): New AC_SUBST'd variable. 3238 (LTO_USE_LIBELF): Likewise. 3239 * config.gcc (lto_binary_reader): New target-specific configure 3240 variable. 3241 * Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var. 3242 (LTO_USE_LIBELF): Likewise. 3243 * configure: Regenerate. 3244 * collect2.c (is_elf): Rename from this ... 3245 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF 3246 object files in addition to ELF-formatted ones. 3247 (scan_prog_file): Caller updated. Also allow for LTO info marker 3248 symbol to be prefixed or not by an extra underscore. 3249 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H. 3250 * config/i386/winnt.c: Also #include lto-streamer.h 3251 (i386_pe_asm_named_section): Specify 1-byte section alignment for 3252 LTO named sections. 3253 (i386_pe_asm_output_aligned_decl_common): Add comment. 3254 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL. 3255 32562010-06-12 Uros Bizjak <ubizjak@gmail.com> 3257 3258 PR target/44481 3259 * config/i386/i386.md (UNSPEC_PARITY): New unspec. 3260 (paritydi2_cmp): Use UNSPEC_PARITY unspec insted of parity RTX. 3261 (partiysi2_cmp): Ditto. 3262 (*partiyhi2_cmp): Ditto. 3263 (*parityqi2_cmp): Remove. 3264 32652010-06-10 Alexandre Oliva <aoliva@redhat.com> 3266 3267 PR debug/41371 3268 * var-tracking.c (find_loc_in_1pdv): Remove recursion, only 3269 tail-recurse into canonical node. Fast-forward over 3270 non-canonical VALUEs. 3271 32722010-06-10 Jan Beulich <jbeulich@novell.com> 3273 3274 PR bootstrap/37304 3275 * configure.ac: Replace $() with ${} when intending to expand 3276 variables rather than invoking commands. 3277 * configure: Re-generate. 3278 32792010-06-09 Dave Korn <dave.korn.cygwin@gmail.com> 3280 3281 * opts-common.c (prune_options): Ensure replacement argv array 3282 is correctly terminated by a NULL entry. 3283 32842010-06-09 Iain Sandoe <iains@gcc.gnu.org> 3285 3286 Backport from mainline: 3287 2010-04-28 Mike Stump <mikestump@comcast.net> 3288 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for 3289 now. 3290 32912010-06-09 Iain Sandoe <iains@gcc.gnu.org> 3292 3293 Backport from mainline: 3294 2010-05-28 Iain Sandoe <iains@gcc.gnu.org> 3295 * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin. 3296 32972010-06-09 Edmar Wienskoski <edmar@freescale.com> 3298 3299 PR target/44067 3300 * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for 3301 e500v2 target. 3302 33032010-06-08 Uros Bizjak <ubizjak@gmail.com> 3304 3305 * config/i386/i386.md (*movsi_1) <TYPE_LEA>: Use %a modifier 3306 to output operand 1. 3307 (ashift_zext lea splitter): Use DImode for multiplication. 3308 3309 * config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add 3310 to generate addition. 3311 33122010-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3313 3314 * doc/sourcebuild.texi (Effective-Target Keywords, Other 3315 attributes): Document gas. 3316 33172010-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3318 3319 Backport from mainline: 3320 2010-06-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3321 3322 * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2 3323 linker emulations. 3324 * configure: Regenerate. 3325 * config.in: Regenerate. 3326 3327 * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define. 3328 (X86_64_EMULATION): Define. 3329 (TARGET_LD_EMULATION): Use them. 3330 3331 * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define. 3332 (SPARC64_EMULATION): Define. 3333 (LINK_ARCH_SPEC): Use them. 3334 33352010-06-07 Kai Tietz <kai.tietz@onevision.com> 3336 3337 Backport from mainline: 3338 * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX 3339 argument for fprintf. 3340 (ix86_output_addr_diff_elt): Likewise. 3341 (x86_function_profiler): Likewise. 3342 * config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore. 3343 (LPREFIX): Likewise. 3344 (ASM_GENERATE_INTERNAL_LABEL): Likewise. 3345 33462010-06-04 Alexandre Oliva <aoliva@redhat.com> 3347 3348 PR debug/41371 3349 * var-tracking.c (find_loc_in_1pdv): Mark initial value before 3350 recursing. Check that recursion is bounded. Rename inner var 3351 to avoid hiding incoming argument. 3352 33532010-06-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3354 3355 Backport from mainline: 3356 2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3357 3358 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor. 3359 * configure: Regenerate. 3360 * config.in: Regenerate. 3361 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf 3362 works. 3363 3364 2010-04-19 Richard Guenther <rguenther@suse.de> 3365 3366 * configure.ac: Fix quoting around elf_getshstrndx ABI check. 3367 * configure: Re-generated. 3368 33692010-06-04 Uros Bizjak <ubizjak@gmail.com> 3370 3371 * config/i386/i386.md (*addqi_4): Check for incdec_operand in QImode. 3372 33732010-06-04 Richard Guenther <rguenther@suse.de> 3374 3375 Backport from mainline: 3376 2010-05-25 Jakub Jelinek <jakub@redhat.com> 3377 3378 PR debug/41371 3379 * var-tracking.c (find_loc_in_1pdv): Guard asserts with 3380 ENABLE_CHECKING. 3381 (intersect_loc_chains): Walk the s2var's loc_chain together 3382 with s1node chain as long as the locations are equal, don't 3383 call find_loc_in_1pdv in that case. 3384 3385 2010-05-18 Jakub Jelinek <jakub@redhat.com> 3386 3387 PR debug/41371 3388 * var-tracking.c (find_loc_in_1pdv): Add a few checks from 3389 rtx_equal_p inline. 3390 33912010-06-04 Alan Modra <amodra@gmail.com> 3392 3393 PR target/44075 3394 * gcc/config/rs6000/rs6000.c (struct machine_function): Reorder 3395 fields for better packing. Add lr_save_state. 3396 (rs6000_ra_ever_killed): Return lr_save_state if set. 3397 (rs6000_emit_eh_reg_restore): Set lr_save_state. 3398 33992010-06-03 Richard Guenther <rguenther@suse.de> 3400 3401 Backport from mainline: 3402 2010-05-10 Richard Guenther <rguenther@suse.de> 3403 3404 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry 3405 marked if the entry identifier is marked. 3406 34072010-06-03 Richard Guenther <rguenther@suse.de> 3408 3409 Backport from mainline: 3410 2010-05-16 Richard Guenther <rguenther@suse.de> 3411 3412 * var-tracking.c (vars_copy_1): Inline ... 3413 (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT. 3414 (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts. 3415 (variable_merge_over_cur): Adjust. Merge asserts. 3416 (variable_merge_over_src): Likewise. 3417 (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT. 3418 (variable_post_merge_new_vals): Merge asserts. 3419 (variable_post_merge_perm_vals): Likewise. 3420 (find_mem_expr_in_1pdv): Likewise. 3421 (dataflow_set_different_value): Remove. 3422 (onepart_variable_different_p): Merge asserts. 3423 (variable_different_p): Likewise. 3424 (dataflow_set_different_1): Inline ... 3425 (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT. 3426 (emit_notes_for_differences_1): Merge asserts. 3427 34282010-06-03 Jan Hubicka <jh@suse.cz> 3429 Jakub Jelinek <jakub@redhat.com> 3430 3431 * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if 3432 set->regs[i] is NULL or has just one entry. 3433 34342010-06-03 Alan Modra <amodra@gmail.com> 3435 3436 PR target/44169 3437 * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand. 3438 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label 3439 rtx to gen_load_toc_v4_PIC_1b. Tidy. 3440 (rs6000_emit_load_toc_table): Likewise. 3441 34422010-06-02 Richard Guenther <rguenther@suse.de> 3443 3444 * lto-streamer-in.c (input_gimple_stmt): Fix typo. 3445 34462010-06-02 Richard Guenther <rguenther@suse.de> 3447 3448 Backport from mainline: 3449 2010-05-27 Jan Hubicka <jh@suse.cz> 3450 3451 * sched-ebb.c: Rename struct deps to struct deps_desc. 3452 * ddg.c: Likewise. 3453 * sel-sched-ir.c: Likewise. 3454 * sched-deps.c: Likewise. 3455 * sched-int.h: Likewise. 3456 * sched-rgn.c: Likewise. 3457 34582010-06-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 3459 3460 * config/s390/2097.md (z10_fhex): Remove insn reservation. 3461 * config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant. 3462 (*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF, 3463 *mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero 3464 instruction. 3465 * config/s390/s390.c: Don't accept fp zeros as valid constants 3466 anymore. 3467 34682010-05-31 Jakub Jelinek <jakub@redhat.com> 3469 3470 PR target/44338 3471 * config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256, 3472 fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4, 3473 fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4, 3474 fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4, 3475 fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4, 3476 fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4, 3477 fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4): 3478 Guard only with TARGET_FMA4 instead of TARGET_FMA4 && 3479 TARGET_FUSED_MADD. 3480 3481 PR middle-end/44337 3482 * expr.c (expand_assignment): Don't store anything for out-of-bounds 3483 array accesses with non-MEM. 3484 3485 PR tree-optimization/44182 3486 * tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that 3487 newly needs to end a bb is followed by debug stmts, instead return 3488 true from the function at the end. 3489 (maybe_move_debug_stmts_to_successors): New function. 3490 (copy_cfg_body): Call it if copy_edges_for_bb returned true. 3491 34922010-05-31 Kai Tietz <kai.tietz@onevision.com> 3493 3494 Merged from trunk 3495 PR target/44161 3496 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle 3497 flag_pic. 3498 34992010-05-28 Richard Guenther <rguenther@suse.de> 3500 3501 PR lto/44312 3502 * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields): 3503 Stream fixed-point constants mode. 3504 (unpack_ts_type_value_fields): Fix width of TYPE_MODE 3505 and TYPE_PRECISION. 3506 * lto-streamer-out.c (pack_ts_fixed_cst_value_fields): 3507 Stream fixed-point constants mode. 3508 (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE 3509 and TYPE_PRECISION. 3510 35112010-05-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 3512 3513 * config/s390/s390.md (movqi): Fix typo ('*' -> '#'). 3514 35152010-05-28 Jakub Jelinek <jakub@redhat.com> 3516 3517 PR target/43636 3518 * builtins.c (expand_movstr): Use a temporary pseudo instead 3519 of target even when target is not NULL and not const0_rtx, but 3520 fails movstr predicate. 3521 * config/m32c/blkmov.md (movstr): Add predicate to first operand. 3522 35232010-05-27 Jon Beniston <jon@beniston.com> 3524 3525 PR 43726 3526 * config/lm32/lm32.h: Remove definition of 3527 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year. 3528 35292010-05-26 Richard Guenther <rguenther@suse.de> 3530 3531 PR rtl-optimization/44164 3532 * tree-ssa-alias.c (aliasing_component_refs_p): Fix the 3533 no-common access-path disambiguation. 3534 (indirect_ref_may_alias_decl_p): Adjust. 3535 (indirect_refs_may_alias_p): Likewise. 3536 (refs_may_alias_p_1): Likewise. 3537 35382010-05-26 Richard Guenther <rguenther@suse.de> 3539 3540 PR middle-end/44069 3541 * tree-ssa-ccp.c (maybe_fold_stmt_addition): Avoid generating 3542 out-of-bounds array accesses. 3543 35442010-05-26 Richard Guenther <rguenther@suse.de> 3545 3546 Backport from mainline: 3547 2010-04-15 Richard Guenther <rguenther@suse.de> 3548 3549 * alias.c (alias_set_subset_of): Handle alias-set zero 3550 child properly. 3551 35522010-05-26 Jakub Jelinek <jakub@redhat.com> 3553 3554 PR target/44199 3555 * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca 3556 or total_size is larger than red zone size for non-V4 ABI, emit a 3557 stack_tie resp. frame_tie insn before stack pointer restore. 3558 * config/rs6000/rs6000.md (frame_tie): New insn. 3559 35602010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3561 3562 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout, 3563 stderr to /dev/null instead of grep -q. 3564 * configure: Regenerate. 3565 35662010-05-25 Richard Guenther <rguenther@suse.de> 3567 3568 * gimple.c (gimple_types_compatible_p): Check type qualifications 3569 before merging pointer to complete and pointer to incomplete type. 3570 * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure 3571 we use our own resolution algorithm. The gold linker plugin 3572 doesn't do the job we want it to do here. 3573 35742010-05-24 Richard Guenther <rguenther@suse.de> 3575 3576 PR lto/44196 3577 * tree.c (find_decls_types_r): Walk BLOCKs and its vars. 3578 35792010-05-24 Uros Bizjak <ubizjak@gmail.com> 3580 3581 Backport from mainline: 3582 2010-05-20 Uros Bizjak <ubizjak@gmail.com> 3583 3584 PR target/43733 3585 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode. 3586 * configure: Regenerate. 3587 * config.in: Regenerate. 3588 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e 3589 instead of sahf only for 64bit targets. 3590 35912010-05-24 H.J. Lu <hongjiu.lu@intel.com> 3592 3593 Backport from mainline 3594 2010-05-24 H.J. Lu <hongjiu.lu@intel.com> 3595 3596 * config/i386/ia32intrin.h (__crc32q): Define only if 3597 __SSE4_2__ is defined. 3598 35992010-05-23 H.J. Lu <hongjiu.lu@intel.com> 3600 3601 Backport from mainline 3602 2010-05-23 H.J. Lu <hongjiu.lu@intel.com> 3603 3604 PR target/44245 3605 * config/i386/i386.c (def_builtin): Properly check 3606 OPTION_MASK_ISA_64BIT. 3607 36082010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com> 3609 3610 Merged from trunk 3611 PR target/43869 3612 * config/i386/i386.c: Make sure that the correct regparm is passed. 3613 36142010-05-21 Jakub Jelinek <jakub@redhat.com> 3615 3616 PR debug/44223 3617 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST, 3618 unchain each use from the cyclic next_regno_use chain first. 3619 36202010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 3621 3622 * config/s390/s390.c (override_options): Increase the default 3623 of max-completely-peel-times. 3624 36252010-05-21 Richard Guenther <rguenther@suse.de> 3626 3627 PR tree-optimization/44038 3628 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid 3629 taking the address of a V_C_E of a constant. 3630 36312010-05-21 Richard Guenther <rguenther@suse.de> 3632 3633 PR tree-optimization/43949 3634 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigend types. 3635 (extract_range_from_binary_expr): Handle TRUNC_MOD_EXPR. 3636 36372010-05-21 Jakub Jelinek <jakub@redhat.com> 3638 3639 PR debug/44205 3640 * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if 3641 at -O0 goto_locus of any of the incoming edges differs from 3642 goto_locus of outgoing edge, or gimple_location of any of the 3643 labels differs. 3644 36452010-05-20 Jakub Jelinek <jakub@redhat.com> 3646 3647 PR debug/44178 3648 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call 3649 setup_ref_regs for DEBUG_INSNs. 3650 36512010-05-19 Kenneth Zadeck <zadeck@naturalbridge.com> 3652 3653 PR bootstrap/43870 3654 * df-scan.c (df_ref_compare): Stabilize sort. 3655 36562010-05-20 Hans-Peter Nilsson <hp@axis.com> 3657 3658 PR target/44202 3659 * config/cris/cris.md ("*addsi3_v32"): Correct "cc" 3660 settings for 16-bit-constant "addo" alternative. 3661 36622010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3663 3664 Backport from mainline: 3665 2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3666 3667 PR target/44074 3668 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test. 3669 * configure: Regenerate. 3670 * config.in: Regenerate. 3671 * config/i386/i386.c (print_operand) <case ;>: Also print ; if 3672 !HAVE_AS_IX86_REP_LOCK_PREFIX. 3673 Don't emit whitespace. 3674 * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep. 3675 (*rep_movsi): Likewise. 3676 (*rep_movsi_rex64): Likewise. 3677 (*rep_movqi): Likewise. 3678 (*rep_movqi_rex64): Likewise. 3679 (*rep_stosdi_rex64): Likewise. 3680 (*rep_stossi): Likewise. 3681 (*rep_stossi_rex64): Likewise. 3682 (*rep_stosqi): Likewise. 3683 (*rep_stosqi_rex64): Likewise. 3684 (*cmpstrnqi_nz_1): Use {%;} after repz. 3685 (*cmpstrnqi_nz_rex_1): Likewise. 3686 (*cmpstrnqi_1): Likewise. 3687 (*cmpstrnqi_rex_1): Likewise. 3688 (*strlenqi_1): Use {%;} after repnz. 3689 (*strlenqi_rex_1): Likewise. 3690 * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} . 3691 (*sync_compare_and_swap<mode>): Likewise. 3692 (sync_double_compare_and_swap<mode>): Likewise. 3693 (*sync_double_compare_and_swapdi_pic): Likewise. 3694 (sync_old_add<mode>): Likewise. 3695 (sync_add<mode>): Likewise. 3696 (sync_sub<mode>): Likewise. 3697 (sync_<code><mode>): Likewise. 3698 36992010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3700 3701 * doc/sourcebuild.texi (Effective-Target Keywords): Document 3702 3dnow, sse3, sse2. 3703 (Directives): Document optional dg-require-effective-target 3704 selector. 3705 37062010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3707 3708 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to 3709 pentiumpro on Solaris 8/x86 with Sun as. 3710 * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as 3711 hidden alias bug. 3712 (gcc_cv_as_ix86_quad): Check for .quad directive. 3713 * configure: Regenerate. 3714 * config.in: Regenerate. 3715 * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD. 3716 37172010-05-19 Richard Guenther <rguenther@suse.de> 3718 3719 PR tree-optimization/43987 3720 * tree-ssa-structalias.c (could_have_pointers): For possibly 3721 address-taken variables force pointers to be recorded. 3722 (create_variable_info_for_1): Likewise. 3723 (push_fields_onto_fieldstack): Pass in wheter all fields 3724 must have pointers. 3725 (find_func_aliases): Query types instead of vars whether 3726 they contain pointers where appropriate. 3727 37282010-05-19 Richard Guenther <rguenther@suse.de> 3729 3730 Backport from mainline: 3731 2010-04-26 Richard Guenther <rguenther@suse.de> 3732 3733 PR lto/43455 3734 * tree-inline.c (tree_can_inline_p): Also check compatibility 3735 of return types. 3736 3737 2010-04-23 Richard Guenther <rguenther@suse.de> 3738 3739 PR lto/42653 3740 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT 3741 of FUNCTION_DECLs. 3742 3743 2010-04-26 Richard Guenther <rguenther@suse.de> 3744 3745 PR lto/42425 3746 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT 3747 if emitting debug information and it is either a function 3748 or a namespace decl. 3749 3750 2010-04-26 Richard Guenther <rguenther@suse.de> 3751 3752 PR lto/43080 3753 * gimple.c (gimple_decl_printable_name): Deal gracefully 3754 with a NULL DECL_NAME. 3755 3756 2010-04-30 Richard Guenther <rguenther@suse.de> 3757 3758 PR lto/43946 3759 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data 3760 first after all lowering passes. 3761 37622010-05-18 Steven Bosscher <steven@gcc.gnu.org> 3763 3764 PR lto/44184 3765 * lto-streamer-out.c (output_gimple_stmt): Output number of labels 3766 in a GIMPLE_ASM. 3767 * lto-streamer-in.c (input_gimple_stmt): Read number of labels 3768 in a GIMPLE_ASM. 3769 37702010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3771 3772 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition. 3773 37742010-05-17 Jakub Jelinek <jakub@redhat.com> 3775 3776 PR bootstrap/42347 3777 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p 3778 to have no fallthru edge. 3779 3780 PR middle-end/44102 3781 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty 3782 bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT 3783 mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL 3784 add BARRIER after previous bb if needed. 3785 37862010-05-17 Alan Modra <amodra@gmail.com> 3787 3788 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete 3789 unnecessary prototype. Replace copy_r12 and copy_r11 flag params 3790 with copy_reg rtx param. 3791 (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls. 3792 Correct cases where code for ABI_V4 did not initialise the reg 3793 used to access frame. Also leave frame_reg_rtx as sp for large 3794 frames that save no regs. 3795 37962010-05-17 Eric Botcazou <ebotcazou@adacore.com> 3797 3798 Backport from mainline 3799 2010-05-16 Eric Botcazou <ebotcazou@adacore.com> 3800 3801 * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO. 3802 (decode_options): Likewise. 3803 * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H. 3804 38052010-05-14 Jason Merrill <jason@redhat.com> 3806 3807 PR c++/44127 3808 * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW. 3809 (gimple_call_set_nothrow): New. 3810 * gimple.c (gimple_build_call_from_tree): Call it. 3811 (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW. 3812 3813 PR c++/44127 3814 * gimplify.c (gimplify_seq_add_stmt): No longer static. 3815 * gimple.h: Declare it. 3816 * gimple.c (gimple_build_eh_filter): No ops. 3817 38182010-05-14 Jakub Jelinek <jakub@redhat.com> 3819 3820 PR debug/44136 3821 * cfgexpand.c (expand_debug_expr): If non-memory op0 3822 has BLKmode, return NULL. 3823 38242010-05-14 H.J. Lu <hongjiu.lu@intel.com> 3825 3826 Backport from mainline 3827 2010-05-12 H.J. Lu <hongjiu.lu@intel.com> 3828 3829 PR target/44088 3830 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New. 3831 38322010-05-14 Richard Guenther <rguenther@suse.de> 3833 3834 PR tree-optimization/44124 3835 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access. 3836 38372010-05-13 Jason Merrill <jason@redhat.com> 3838 3839 * gimplify.c (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the 3840 rhs didn't change. 3841 3842 PR c++/43787 3843 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr 3844 returns GS_OK. 3845 (gimplify_modify_expr_rhs): Return GS_OK if anything changed. 3846 38472010-05-12 Wolfgang Gellerich <gellerich@de.ibm.com> 3848 3849 * config/s390/s390.c (override_options): Adjust the z10 defaults 3850 for max-unroll-times, max-completely-peeled-insns 3851 and max-completely-peel-times. 3852 38532010-05-12 Jakub Jelinek <jakub@redhat.com> 3854 3855 PR middle-end/44085 3856 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK, 3857 change value of ORT_TASK. 3858 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK. 3859 (omp_notice_threadprivate_variable): New function. 3860 (omp_notice_variable): Call it for threadprivate variables. 3861 If enclosing ctx is a task, print enclosing task rather than 3862 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK. 3863 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK 3864 if task has untied clause. 3865 38662010-05-11 Jakub Jelinek <jakub@redhat.com> 3867 3868 PR middle-end/44071 3869 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have 3870 no fallthru edge. 3871 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode 3872 optimizing away empty bb with no successors, move over its 3873 footer chain to fallthru predecessor. 3874 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND. 3875 (rtl_split_edge): For asm goto call patch_jump_insn even if 3876 splitting fallthru edge. 3877 38782010-05-11 Martin Jambor <mjambor@suse.cz> 3879 3880 PR middle-end/43812 3881 * ipa.c (dissolve_same_comdat_group_list): New function. 3882 (function_and_variable_visibility): Call 3883 dissolve_same_comdat_group_list when comdat group contains external or 3884 newly local nodes. 3885 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group 3886 lists are circular and that they contain only DECL_ONE_ONLY nodes. 3887 38882010-05-10 Jakub Jelinek <jakub@redhat.com> 3889 3890 PR debug/44028 3891 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC, 3892 clear also INSN_REG_USE_LIST. 3893 38942010-05-10 H.J. Lu <hongjiu.lu@intel.com> 3895 3896 Backport from mainline 3897 2010-05-10 H.J. Lu <hongjiu.lu@intel.com> 3898 Vladimir Makarov <vmakarov@redhat.com> 3899 3900 PR rtl-optimization/44012 3901 * ira-build.c (remove_unnecessary_allocnos): Nullify 3902 regno_allocno_map of the removed allocno. 3903 39042010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3905 3906 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors 3907 to /dev/null. 3908 * configure: Regenerate. 3909 39102010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3911 3912 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis 3913 unused. 3914 Define visibility_types, name, type inside HAVE_GAS_HIDDEN. 3915 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility 3916 support in Sun ld. 3917 * configure: Regenerate. 3918 39192010-05-09 H.J. Lu <hongjiu.lu@intel.com> 3920 3921 Backport from mainline 3922 2010-05-09 H.J. Lu <hongjiu.lu@intel.com> 3923 3924 PR target/44046 3925 * config/i386/driver-i386.c (host_detect_local_cpu): Properly 3926 detect Atom, Core 2 and Core i7. 3927 39282010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 3929 3930 PR documentation/44016 3931 * doc/standards.texi (Standards): Link to unversioned 3932 cxx0x_status.html page. 3933 39342010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3935 3936 * config/mips/iris.h (LINK_SPEC): Don't pass -init, -fini with -r. 3937 39382010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3939 3940 * config/mips/dbxmdebug.h: Remove. 3941 * config.gcc (mips-sgi-irix[56]*): Remove mips/dbxmdebug.h. 3942 39432010-05-05 Kaz Kojima <kkojima@gcc.gnu.org> 3944 3945 Backport from mainline: 3946 2010-04-22 Kaz Kojima <kkojima@gcc.gnu.org> 3947 3948 PR target/43744 3949 * config/sh/sh.c (find_barrier): Don't emit a constant pool 3950 in the middle of insns for casesi_worker_2. 3951 39522010-05-05 Jason Merrill <jason@redhat.com> 3953 3954 PR debug/43370 3955 * c-common.c (handle_aligned_attribute): Respect 3956 ATTR_FLAG_TYPE_IN_PLACE. 3957 39582010-05-05 Richard Guenther <rguenther@suse.de> 3959 3960 PR c++/43880 3961 * tree-inline.c (copy_bind_expr): Also copy bind expr vars 3962 value-exprs. 3963 39642010-05-04 H.J. Lu <hongjiu.lu@intel.com> 3965 3966 Backport from mainline 3967 2010-05-04 H.J. Lu <hongjiu.lu@intel.com> 3968 3969 PR middle-end/43671 3970 * alias.c (true_dependence): Handle the same VALUE in x and mem. 3971 (canon_true_dependence): Likewise. 3972 (write_dependence_p): Likewise. 3973 39742010-05-03 Jakub Jelinek <jakub@redhat.com> 3975 3976 PR debug/43972 3977 * config/i386/i386.c (ix86_delegitimize_address): Make sure the 3978 result mode matches original rtl mode. 3979 39802010-05-02 Uros Bizjak <ubizjak@gmail.com> 3981 3982 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa', 3983 when processing flag options. 3984 39852010-05-02 H.J. Lu <hongjiu.lu@intel.com> 3986 3987 Backport from mainline 3988 2010-04-29 H.J. Lu <hongjiu.lu@intel.com> 3989 3990 PR target/43921 3991 * config/i386/i386.c (get_some_local_dynamic_name): Replace 3992 INSN_P with NONDEBUG_INSN_P. 3993 (distance_non_agu_define): Likewise. 3994 (distance_agu_use): Likewise. 3995 39962010-04-30 Eric Botcazou <ebotcazou@adacore.com> 3997 3998 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of 3999 the variable part of the offset as well. Use highest_pow2_factor for 4000 all alignment checks. 4001 40022010-04-30 Jakub Jelinek <jakub@redhat.com> 4003 4004 PR debug/43942 4005 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars. 4006 40072010-04-28 Uros Bizjak <ubizjak@gmail.com> 4008 4009 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object 4010 type if available. 4011 40122010-04-28 Eric Botcazou <ebotcazou@adacore.com> 4013 4014 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for 4015 record or union type with RECORD_OR_UNION_TYPE_P predicate. 4016 (lto_input_ts_type_tree_pointers): Likewise. 4017 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise. 4018 (lto_output_ts_type_tree_pointers): Likewise. 4019 40202010-04-28 Eric Botcazou <ebotcazou@adacore.com> 4021 4022 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry, 4023 hash_tree, eq_tree): New tree hash table. 4024 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it. 4025 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get, 4026 lto_orig_address_remove): Reimplement. 4027 40282010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4029 4030 PR target/22224 4031 * config/alpha/osf.h (ASM_OUTPUT_LOCAL): Redefine. 4032 40332010-04-28 Martin Jambor <mjambor@suse.cz> 4034 4035 PR tree-optimization/43846 4036 * tree-sra.c (struct access): New flag grp_assignment_read. 4037 (build_accesses_from_assign): Set grp_assignment_read. 4038 (sort_and_splice_var_accesses): Propagate grp_assignment_read. 4039 (enum mark_read_status): New type. 4040 (analyze_access_subtree): Propagate grp_assignment_read, create 4041 accesses also if both direct_read and root->grp_assignment_read. 4042 40432010-04-27 Kai Tietz <kai.tietz@onevision.com> 4044 4045 Back-merged from trnnk. 4046 * collect2.c (TARGET_64BIT): Redefine to target's default. 4047 * tlink.c: Likewise. 4048 * config/i386/cygming.h (USER_LABEL_PREFIX): Define 4049 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES. 4050 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use 4051 for underscoring __USER_LABEL_PREFIX__. 4052 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro. 4053 (SUB_LINK_ENTRY32): New. 4054 (SUB_LINK_ENTRY64): New. 4055 (LINK_SPEC): Replace entry point spec by 4056 SUB_LINK_ENTRY. 4057 * config/i386/mingw32 (SUB_LINK_ENTRY32): New. 4058 (SUB_LINK_ENTRY64): New. 4059 (SUB_LINK_ENTRY): New. 4060 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point. 4061 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when 4062 x64 target is choosen. 4063 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New. 4064 * configure: Regenerated. 4065 * configure.ac (leading-mingw64-underscores): Option added. 4066 40672010-04-27 Jakub Jelinek <jakub@redhat.com> 4068 4069 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression 4070 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register 4071 or DW_CFA_def_cfa_offset{,_sf}. 4072 4073 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes. 4074 40752010-04-27 Hans-Peter Nilsson <hp@bitrange.com> 4076 4077 PR target/43889 4078 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"): 4079 Add missing earlyclobber for second alternative. 4080 40812010-04-26 Jakub Jelinek <jakub@redhat.com> 4082 4083 PR c/43893 4084 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR. 4085 40862010-04-26 Jie Zhang <jie@codesourcery.com> 4087 4088 PR tree-optimization/43833 4089 * tree-vrp.c (range_int_cst_p): New. 4090 (range_int_cst_singleton_p): New. 4091 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case 4092 when both operands are constants. Use range_int_cst_p in 4093 BIT_IOR_EXPR case. 4094 40952010-04-23 Martin Jambor <mjambor@suse.cz> 4096 4097 PR middle-end/43835 4098 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the 4099 function does not have type attributes. 4100 41012010-04-23 Richard Guenther <rguenther@suse.de> 4102 4103 PR tree-optimization/43572 4104 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses. 4105 41062010-04-23 Richard Guenther <rguenther@suse.de> 4107 4108 Backport from mainline 4109 2010-04-22 Richard Guenther <rguenther@suse.de> 4110 4111 PR tree-optimization/43845 4112 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly 4113 lookup the CALL_EXPR function and arguments. 4114 41152010-04-21 Jakub Jelinek <jakub@redhat.com> 4116 4117 PR middle-end/43570 4118 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op 4119 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE. 4120 (lower_copyprivate_clauses): Use private var in outer 4121 context instead of original var. Make sure the types 4122 are correct for VLAs. 4123 41242010-04-20 Richard Guenther <rguenther@suse.de> 4125 4126 PR tree-optimization/43783 4127 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop 4128 constant ARRAY_REF operands two and three if possible. 4129 41302010-04-20 Richard Guenther <rguenther@suse.de> 4131 4132 PR tree-optimization/43796 4133 * tree-vrp.c (adjust_range_with_scev): Lookup init and step 4134 from SCEV in the lattice. 4135 (vrp_visit_phi_node): Dump change. 4136 41372010-04-20 Jakub Jelinek <jakub@redhat.com> 4138 4139 PR middle-end/43337 4140 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE 4141 with non-local decl doesn't need chain. 4142 41432010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 4144 4145 PR target/43635 4146 * config/s390/s390.c (s390_emit_call): Turn direct into indirect 4147 calls for -fpic -m31 if they have been sibcall optimized. 4148 41492010-04-19 DJ Delorie <dj@redhat.com> 4150 4151 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in 4152 POINTER_PLUS_EXPR and fix them. 4153 41542010-04-19 Jie Zhang <jie@codesourcery.com> 4155 4156 PR target/43662 4157 * reginfo.c (reinit_regs): Set caller_save_initialized_p 4158 to false. 4159 41602010-04-19 Richard Guenther <rguenther@suse.de> 4161 4162 PR tree-optimization/43572 4163 * tree-tailcall.c (find_tail_calls): Verify the tail call 4164 properly. 4165 41662010-04-19 Ira Rosen <irar@il.ibm.com> 4167 4168 PR tree-optimization/43771 4169 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that 4170 load permutation doesn't have gaps. 4171 41722010-04-18 Matthias Klose <doko@ubuntu.com> 4173 4174 * gcc.c (main): Search for liblto_plugin.so with mode R_OK. 4175 41762010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4177 4178 Backport from mainline: 4179 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4180 4181 * configure.ac (plugin -rdynamic test): Log result. 4182 * configure: Regenerate. 4183 * config/sol2.h (LINK_SPEC): Handle -rdynamic. 4184 (RDYNAMIC_SPEC): Define. 4185 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine. 4186 41872010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4188 4189 Backport from mainline: 4190 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4191 4192 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ... 4193 * config/sol2-gld.h: ... here. 4194 * config.gcc (sparc*-*-solaris2*): Reflect this. 4195 (i[34567]86-*-solaris2*): Use it. 4196 41972010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4198 4199 Backport from mainline: 4200 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4201 4202 * configure.ac: Determine Sun ld version numbers. 4203 (comdat_group): Restrict GNU ld version checks to gld. 4204 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688. 4205 (enable_comdat): Support --enable-comdat. 4206 * configure: Regenerate. 4207 * doc/install.texi (Configuration): Document --enable-comdat. 4208 42092010-04-01 Uros Bizjak <ubizjak@gmail.com> 4210 4211 Backport from mainline: 4212 2010-04-14 Uros Bizjak <ubizjak@gmail.com> 4213 4214 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from 4215 splitter condition. 4216 (*udivmod<mode>4): Ditto. 4217 4218 2010-04-14 Uros Bizjak <ubizjak@gmail.com> 4219 4220 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute 4221 from insn template. 4222 42232010-04-15 Thomas Schwinge <tschwinge@gnu.org> 4224 4225 Backport from mainline: 4226 2010-04-15 Thomas Schwinge <tschwinge@gnu.org> 4227 4228 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux. 4229 42302010-04-15 Richard Guenther <rguenther@suse.de> 4231 4232 PR tree-optimization/43627 4233 * tree-vrp.c (extract_range_from_unary_expr): Widenings 4234 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type, 4235 not varying. 4236 42372010-04-14 Richard Guenther <rguenther@suse.de> 4238 4239 * DEV-PHASE: Set back to prerelease. 4240 * BASE-VER: Bump to 4.5.1. 4241 42422010-04-14 Release Manager 4243 4244 * GCC 4.5.0 released. 4245 42462010-04-13 Michael Matz <matz@suse.de> 4247 4248 PR middle-end/43730 4249 * builtins.c (expand_builtin_interclass_mathfn): Also create 4250 a register if the predicate doesn't match. 4251 42522010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4253 4254 * doc/contrib.texi (Contributors, Rainer Orth): Update. 4255 42562010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4257 4258 PR target/43643 4259 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx. 4260 42612010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4262 4263 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar. 4264 (Specific, *-*-solaris2*): Likewise. 4265 Don't prefer Sun as over GNU as. 4266 42672010-04-08 Richard Guenther <rguenther@suse.de> 4268 4269 PR tree-optimization/43679 4270 * tree-ssa-pre.c (eliminate): Only propagate copies. 4271 42722010-04-08 Jakub Jelinek <jakub@redhat.com> 4273 4274 PR debug/43670 4275 * cfgexpand.c (expand_debug_expr): If for non-NULL offset 4276 op0 is not a MEM, just return NULL instead of assertion 4277 failure. 4278 (discover_nonconstant_array_refs): Don't walk debug stmts. 4279 42802010-04-07 H.J. Lu <hongjiu.lu@intel.com> 4281 4282 PR target/43668 4283 * config/i386/i386.c (setup_incoming_varargs_64): Align stack to 4284 16byte for FP register save area. 4285 42862010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4287 4288 * doc/install.texi (Configuration): Move description of 4289 --enable-lto, --with-libelf*, --enable-gold from Java section to 4290 general section. 4291 4292 * doc/generic.texi (Working with declarations) 4293 (Function Properties, C and C++ Trees): Fix typos. 4294 * doc/sourcebuild.texi (Top Level): Likewise. 4295 42962010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4297 4298 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to 4299 generic. 4300 43012010-04-06 Jakub Jelinek <jakub@redhat.com> 4302 4303 PR target/43667 4304 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP 4305 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*. 4306 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of 4307 MULTI_* defines for 4 argument vpermil2p* builtins. 4308 43092010-04-06 Joseph Myers <joseph@codesourcery.com> 4310 4311 * doc/invoke.texi, doc/standards.texi: Refer to 4312 gcc-4.5/c99status.html. 4313 43142010-04-06 Jakub Jelinek <jakub@redhat.com> 4315 4316 PR target/43638 4317 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code 4318 handling. 4319 43202010-04-06 Richard Guenther <rguenther@suse.de> 4321 4322 PR middle-end/43661 4323 * fold-const.c (fold_comparison): Handle X * 0 CMP 0. 4324 43252010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4326 4327 * doc/invoke.texi (Optimize Options): Document that LTO 4328 won't remove object access purely due to incompatible 4329 declarations. 4330 43312010-04-04 Matthias Klose <doko@ubuntu.com> 4332 4333 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array): 4334 Initialize variable. 4335 43362010-04-03 Richard Guenther <rguenther@suse.de> 4337 4338 PR middle-end/42509 4339 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses 4340 require a non-NULL MEM_OFFSET. 4341 43422010-04-02 Steven Bosscher <steven@gcc.gnu.org> 4343 4344 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, 4345 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h, 4346 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md, 4347 config/alpha/predicates.md, config/arm/arm.md, 4348 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml, 4349 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c, 4350 config/darwin9.h, config/darwin.c, config/darwin.h, 4351 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h, 4352 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c, 4353 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c, 4354 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c, 4355 config/mips/mips.md, config/mn10300/mn10300.c, 4356 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md, 4357 config/rs6000/aix.h, config/rs6000/dfp.md, 4358 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c, 4359 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md, 4360 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h, 4361 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md, 4362 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c, 4363 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in, 4364 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c, 4365 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi, 4366 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi, 4367 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c, 4368 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h, 4369 gensupport.c, gimple.h, gimple-iterator.c, graphite.c, 4370 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h, 4371 graphite-dependences.c, graphite-poly.c, graphite-poly.h, 4372 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c, 4373 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c, 4374 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h, 4375 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c, 4376 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c, 4377 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c, 4378 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk, 4379 opt-functions.awk, opth-gen.awk, params.def, passes.c, 4380 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h, 4381 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h, 4382 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c, 4383 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h, 4384 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c, 4385 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c, 4386 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c, 4387 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c, 4388 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c, 4389 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c, 4390 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c, 4391 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c, 4392 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c, 4393 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years. 4394 43952010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4396 4397 PR other/43620 4398 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1. 4399 * aclocal.m4: Regenerate. 4400 44012010-04-02 Richard Guenther <rguenther@suse.de> 4402 4403 PR tree-optimization/43629 4404 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands 4405 if we have seen a constant value. 4406 44072010-04-02 Joseph Myers <joseph@codesourcery.com> 4408 4409 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for 4410 ']'. 4411 44122010-04-02 Richard Earnshaw <rearnsha@arm.com> 4413 4414 PR target/43469 4415 * arm.c (legitimize_tls_address): Adjust call to 4416 gen_tls_load_dot_plus_four. 4417 (arm_note_pic_base): New function. 4418 (arm_cannot_copy_insn_p): Use it. 4419 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in 4420 constraint. 4421 44222010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4423 4424 PR bootstrap/43531 4425 4426 Revert: 4427 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4428 4429 * Makefile.in ($(out_object_file)): Depend on 4430 gt-$(basename $(notdir $(out_file))).h. 4431 44322010-04-01 Ralf Cors��pius <ralf.corsepius@rtems.org> 4433 4434 * config.gcc (lm32-*-rtems*): Add t-lm32. 4435 44362010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com> 4437 4438 * config.gcc: Add lm32-*-rtems*. 4439 * config/lm32/rtems.h: New file. 4440 44412010-04-01 Dave Korn <dave.korn.cygwin@gmail.com> 4442 4443 PR target/42609 4444 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin. 4445 44462010-04-01 Jakub Jelinek <jakub@redhat.com> 4447 4448 * dwarf2out.c (output_compilation_unit_header): For 4449 -gdwarf-4 use version 4 instead of version 3. 4450 (output_line_info): For version 4 and above emit additional 4451 maximum ops per insn header field. 4452 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define. 4453 4454 * dwarf2out.c (is_c_family, is_java): Remove. 4455 (lower_bound_default): New function. 4456 (add_bound_info, gen_descr_array_type_die): Use it. 4457 44582010-04-01 Dodji Seketeli <dodji@redhat.com> 4459 4460 PR debug/43325 4461 * dwarf2out.c (gen_variable_die): Allow debug info for variable 4462 re-declaration when it happens in a function. 4463 44642010-04-01 Aldy Hernandez <aldyh@redhat.com> 4465 4466 * cgraph.c (cgraph_add_function_insertion_hook): Update comment. 4467 (cgraph_remove_function_insertion_hook): Same. 4468 (cgraph_call_function_insertion_hooks): Same. 4469 44702010-04-01 Richard Guenther <rguenther@suse.de> 4471 4472 PR middle-end/43614 4473 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS 4474 and TREE_THIS_VOLATILE. 4475 (copy_ref_info): Likewise. 4476 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE. 4477 * tree.c (build6_stat): Ignore side-effects of all but arg5 4478 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of 4479 TARGET_MEM_REF. 4480 44812010-04-01 Richard Guenther <rguenther@suse.de> 4482 4483 PR tree-optimization/43607 4484 * ipa-type-escape.c (check_call): Do not access non-existing 4485 arguments. 4486 44872010-04-01 Richard Guenther <rguenther@suse.de> 4488 4489 PR middle-end/43602 4490 Revert 4491 2010-03-30 Seongbae Park <seongbae.park@gmail.com> 4492 Jack Howarth <howarth@bromo.med.uc.edu> 4493 4494 * tree-profile.c (tree_init_ic_make_global_vars): Make static 4495 variables TLS. 4496 44972010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4498 4499 * doc/install.texi (Prerequisites): Document libelf usability on 4500 IRIX 5/6 and Solaris 2. 4501 (Specific, i?86-*-solaris2.10): No 64-bit default configuration. 4502 Update GNU as, GNU ld requirements. 4503 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal. 4504 Document Sun Studio compiler download. 4505 Update and simplify as, ld recommendations. 4506 (Specific, *-*-solaris2.7): Note obsoletion, removal. 4507 45082010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4509 4510 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32, 4511 with_tune_32 to pentium4. 4512 45132010-04-01 Uros Bizjak <ubizjak@gmail.com> 4514 4515 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment. 4516 45172010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4518 4519 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5 4520 obsoletion, removal. 4521 Update IDO URL. 4522 Document GNU as requirement. 4523 Update configure requirements. 4524 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, 4525 removal. 4526 Recomment IRIX 6.5.18+. 4527 Document IDF/IDL requirement. 4528 Document GNU as requirement. 4529 Document GNU ld bootstrap failure. 4530 Remove freeware.sgi.com reference. 4531 45322010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4533 4534 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64 4535 UNIX V4.0, V5.0 obsoletion, removal. 4536 Remove --with-gc=simple reference. 4537 Update VM requirements during bootstrap. 4538 Remove -oldas bootstrap description. 4539 Update binutils reference. 4540 Remove comparison failure note. 4541 45422010-03-31 Richard Guenther <rguenther@suse.de> 4543 Zdenek Dvorak <ook@ucw.cz> 4544 Sebastian Pop <sebastian.pop@amd.com> 4545 4546 PR middle-end/43464 4547 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes 4548 with multiple arguments. 4549 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa. 4550 45512010-03-31 Sebastian Pop <sebastian.pop@amd.com> 4552 4553 * graphite-dependences.c (print_pddr): Call print_pdr with an 4554 extra argument. 4555 * graphite-poly.c (debug_pdr): Add an extra argument for the 4556 verbosity level. 4557 (print_pdr): Same. 4558 (print_pbb_domain): Same. 4559 (print_pbb): Same. 4560 (print_scop_context): Same. 4561 (print_scop): Same. 4562 (print_cloog): Same. 4563 (debug_pbb_domain): Same. 4564 (debug_pbb): Same. 4565 (print_pdrs): Same. 4566 (debug_pdrs): Same. 4567 (debug_scop_context): Same. 4568 (debug_scop): Same. 4569 (debug_cloog): Same. 4570 (print_scop_params): Same. 4571 (debug_scop_params): Same. 4572 (print_iteration_domain): Same. 4573 (print_iteration_domains): Same. 4574 (debug_iteration_domain): Same. 4575 (debug_iteration_domains): Same. 4576 (print_scattering_function): Same. 4577 (print_scattering_functions): Same. 4578 (debug_scattering_function): Same. 4579 (debug_scattering_functions): Same. 4580 * graphite-poly.h (debug_pdr): Update declaration. 4581 (print_pdr): Same. 4582 (print_pbb_domain): Same. 4583 (print_pbb): Same. 4584 (print_scop_context): Same. 4585 (print_scop): Same. 4586 (print_cloog): Same. 4587 (debug_pbb_domain): Same. 4588 (debug_pbb): Same. 4589 (print_pdrs): Same. 4590 (debug_pdrs): Same. 4591 (debug_scop_context): Same. 4592 (debug_scop): Same. 4593 (debug_cloog): Same. 4594 (print_scop_params): Same. 4595 (debug_scop_params): Same. 4596 (print_iteration_domain): Same. 4597 (print_iteration_domains): Same. 4598 (debug_iteration_domain): Same. 4599 (debug_iteration_domains): Same. 4600 (print_scattering_function): Same. 4601 (print_scattering_functions): Same. 4602 (debug_scattering_function): Same. 4603 (debug_scattering_functions): Same. 4604 46052010-03-31 Sebastian Pop <sebastian.pop@amd.com> 4606 4607 * graphite-poly.c (print_scattering_function_1): New. 4608 (print_scattering_function): Call it. 4609 (print_scop_params): Remove spaces at the end of lines. 4610 (print_cloog): New. 4611 (debug_cloog): New. 4612 * graphite-poly.h (print_cloog): Declared. 4613 (debug_cloog): Declared. 4614 46152010-03-31 Sebastian Pop <sebastian.pop@amd.com> 4616 4617 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump 4618 in loop->header. 4619 * tree-flow.h (canonicalize_loop_ivs): Updated declaration. 4620 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch. 4621 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter 4622 to switch between adding the IV bump in loop->latch or in loop->header. 4623 46242010-03-31 Sebastian Pop <sebastian.pop@amd.com> 4625 4626 * graphite-poly.c (print_scattering_function): Pretty print following 4627 the scoplib format. 4628 (print_pdr): Same. 4629 (print_pbb_domain): Same. 4630 (dump_gbb_cases): Same. 4631 (dump_gbb_conditions): Same. 4632 (print_pdrs): Same. 4633 (print_pbb): Same. 4634 (print_scop_params): Same. 4635 (print_scop_context): Same. 4636 (print_scop): Same. 4637 (print_pbb_body): New. 4638 (lst_indent_to): New. 4639 (print_lst): Start new lines with a #. 4640 * graphite-poly.h (pbb_bb): New. 4641 (pbb_index): Use pbb_bb. 4642 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of 4643 disjuncts. 4644 * tree-data-ref.c (dump_data_reference): Start new lines with a #. 4645 46462010-03-31 Jakub Jelinek <jakub@redhat.com> 4647 4648 * dwarf2out.c (size_of_die): For -gdwarf-4 use 4649 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc 4650 and 0 instead of 1 for dw_val_class_flag. 4651 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for 4652 dw_val_class_range_list, dw_val_class_loc_list, 4653 dw_val_class_lineptr and dw_val_class_macptr, use 4654 DW_FORM_flag_present for dw_val_class_flag and 4655 DW_FORM_exprloc for dw_val_class_loc. 4656 (output_die): For -gdwarf-4 print dw_val_class_loc 4657 size as uleb128 instead of 1 or 2 bytes and don't print 4658 anything for dw_val_class_flag. 4659 4660 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn 4661 instead of cselib_lookup following by tweaking locs->setting_insn. 4662 4663 PR bootstrap/43596 4664 * cselib.c (cselib_process_insn): Clear cselib_current_insn 4665 even before returning from label, setjmp call or volatile asm 4666 handling. 4667 46682010-03-31 Richard Guenther <rguenther@suse.de> 4669 4670 PR middle-end/43600 4671 * cgraphunit.c (cgraph_output_in_order): Do not allocate 4672 temporary data on stack. 4673 46742010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4675 4676 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef. 4677 (PUSHSECTION_ASM_OP): Remove. 4678 (POPSECTION_ASM_OP): Remove. 4679 (PUSHSECTION_FORMAT): Remove. 4680 * config/sol2.h (PUSHSECTION_FORMAT): Define. 4681 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine. 4682 * config/sol2.c (solaris_output_init_fini): Use it. 4683 46842010-03-31 Jie Zhang <jie@codesourcery.com> 4685 4686 PR 43574 4687 * opt-functions.awk (var_type_struct): Use signed char type 4688 for simple variables. 4689 46902010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4691 4692 * config/sol2.c: Include output.h. 4693 (solaris_assemble_visibility): New function. 4694 * config/t-sol2 (sol2.o): Add output.h dependency. 4695 * config/sol2-protos.h (solaris_assemble_visibility): Declare. 4696 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY): 4697 Redefine. 4698 46992010-03-31 Jakub Jelinek <jakub@redhat.com> 4700 4701 PR target/43580 4702 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of 4703 V2SImode or XFmode on PRE_DEC. 4704 4705 PR debug/43557 4706 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like 4707 BLKmode. 4708 47092010-03-31 Jie Zhang <jie@codesourcery.com> 4710 4711 PR 43562 4712 * reload.h (caller_save_initialized_p): Declare. 4713 * toplev.c (backend_init_target): Don't call 4714 init_caller_save but set caller_save_initialized_p to false. 4715 * caller-save.c (caller_save_initialized_p): Define. 4716 (init_caller_save): Check caller_save_initialized_p. 4717 * ira.c (ira): Call init_caller_save if flag_caller_saves. 4718 47192010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4720 4721 PR target/39048 4722 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp 4723 and soft-fp/t-softfp to tmake_file. 4724 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine. 4725 (LIBGCC2_TF_CEXT): Define. 4726 (TF_SIZE): Define. 4727 47282010-03-30 Alexandre Oliva <aoliva@redhat.com> 4729 4730 PR debug/42977 4731 * cselib.c (n_useless_values): Document handling of debug locs. 4732 (n_useless_debug_values, n_debug_values): New variables. 4733 (new_elt_loc_list): Don't add to debug values, keep count. 4734 (promote_debug_loc): New. 4735 (cselib_reset_table): Zero new variables. 4736 (entry_and_rtx_equal_p): Promote debug locs. 4737 (discard_useless_locs): Increment n_useless_debug_values for 4738 debug values. 4739 (remove_useless_values): Adjust n_useless_values and n_debug_values 4740 with n_useless_debug_values. 4741 (add_mem_for_addr): Promote debug locs. 4742 (cselib_lookup_mem): Likewise. 4743 (cselib_lookup_addr): Renamed to... 4744 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call... 4745 (cselib_log_lookup): ... this. Turn into... 4746 (cselib_lookup_addr): ... new wrapper. 4747 (cselib_lookup_from_insn): New. 4748 (cselib_invalidate_regno): Increment n_useless_debug_values for 4749 debug values. 4750 (cselib_invalidate_mem): Likewise. 4751 (cselib_process_insn): Take n_deleted and n_debug_values into 4752 account to guard remove_useless_value call. 4753 (cselib_finish): Zero n_useless_debug_values. 4754 * cselib.h (cselib_lookup_from_insn): Declare. 4755 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn. 4756 (sched_analyze_2): Likewise. 4757 47582010-03-30 Jakub Jelinek <jakub@redhat.com> 4759 4760 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New 4761 functions. 4762 (adjust_mems): Replace narrowing SUBREG of expression containing 4763 just PLUS, MINUS, MULT and ASHIFT of registers and constants 4764 with operations in the narrower mode. 4765 4766 PR debug/43593 4767 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just 4768 regs_invalidated_by_call instead all call_used_reg_set registers. 4769 47702010-03-30 Sebastian Pop <sebastian.pop@amd.com> 4771 4772 PR middle-end/43430 4773 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type 4774 pointer comparisons with types_compatible_p. 4775 * tree-vect-stmts.c (vectorizable_call): Same. 4776 (vectorizable_condition): Same. 4777 47782010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 4779 4780 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic 4781 stack check if the mask would be zero. 4782 47832010-03-30 Seongbae Park <seongbae.park@gmail.com> 4784 Jack Howarth <howarth@bromo.med.uc.edu> 4785 4786 * tree-profile.c (tree_init_ic_make_global_vars): Make static 4787 variables TLS. 4788 47892010-03-30 Joseph Myers <joseph@codesourcery.com> 4790 4791 PR other/25232 4792 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2 4793 and __unordtf2. 4794 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version. 4795 Include ___unordxf2 and ___unordtf2. 4796 * config/i386/libgcc-glibc.ver: Do not define inheritance from 4797 GCC_4.4.0 here. 4798 47992010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr> 4800 4801 * config/lm32/t-lm32: New file. 4802 * config.gcc: Use the above file when targetting lm32. 4803 48042010-03-28 Duncan Sands <baldrick@free.fr> 4805 4806 * Makefile.in (PLUGIN_HEADERS): Add except.h. 4807 48082010-03-29 Sebastian Pop <sebastian.pop@amd.com> 4809 4810 PR middle-end/43431 4811 * tree-vect-loop.c (vect_estimate_min_profitable_iters): 4812 Improve vectorization cost model diagnostic. 4813 48142010-03-29 Sebastian Pop <sebastian.pop@amd.com> 4815 4816 PR middle-end/43436 4817 * tree-vect-data-refs.c (vect_analyze_data_refs): When 4818 compute_data_dependences_for_loop returns false, early exit 4819 and output an extra diagnostic for the failed data reference 4820 analysis. 4821 48222010-03-29 Richard Guenther <rguenther@suse.de> 4823 4824 PR tree-optimization/43560 4825 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter. 4826 (can_sm_ref_p): Treat stores to readonly locations as trapping. 4827 48282010-03-29 Jie Zhang <jie@codesourcery.com> 4829 4830 PR 43564 4831 * toplev.c (process_options): Set optimization_default_node 4832 and optimization_current_node. 4833 * opts.c (decode_options): Don't set optimization_default_node 4834 and optimization_current_node. 4835 48362010-03-29 Ralf Cors��pius <ralf.corsepius@rtems.org> 4837 4838 * config/rtems.h: Abandon -qrtems_debug. 4839 48402010-03-28 Jan Hubicka <jh@suse.cz> 4841 4842 PR tree-optimization/43505 4843 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement 4844 map should not be copied. 4845 48462010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 4847 4848 PR middle-end/41674 4849 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have 4850 cdtors, set DECL_PRESERVE_P. 4851 * ipa.c (cgraph_externally_visible_p): Return true if declaration 4852 should be preseved. 4853 48542010-03-27 Uros Bizjak <ubizjak@gmail.com> 4855 4856 PR tree-optimization/43528 4857 * stor-layout.c (place_field): Check that constant fits into 4858 unsigned HWI when skipping calculation of MS bitfield layout. 4859 48602010-03-27 Jan Hubicka <jh@suse.cz> 4861 4862 PR middle-end/43391 4863 * varasm.c (make_decl_rtl): Deal with COMMON flag to make 4864 notice_global_symbol work. 4865 48662010-03-27 Jakub Jelinek <jakub@redhat.com> 4867 4868 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl 4869 instead of dwarf2out_decl. 4870 (struct var_loc_node): Remove section_label field. 4871 (dwarf2out_function_decl): New function. 4872 (dwarf2out_var_location): Don't set section_label field. 4873 (dwarf2out_begin_function): Don't empty decl_loc_table here. 4874 48752010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com> 4876 4877 PR tree-optimization/43544 4878 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): 4879 First argument for builtin vectorized function hook is now a 4880 tree to be able to distinguish between machine specific and 4881 standard builtins. 4882 * targhooks.c (default_builtin_vectorized_function): Ditto. 4883 * targhooks.h (default_builtin_vectorized_function): Ditto. 4884 * target.h (struct gcc_target): Ditto. 4885 * tree-vect-stmts.c (vectorizable_function): Ditto. 4886 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto. 4887 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): 4888 Ditto. 4889 48902010-03-26 Joseph Myers <joseph@codesourcery.com> 4891 4892 PR c/43381 4893 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a 4894 nested binding iff it is a FUNCTION_DECL. 4895 (store_parm_decls_newstyle): Pass nested=true to bind for 4896 FUNCTION_DECLs amongst parameters. 4897 48982010-03-26 Jakub Jelinek <jakub@redhat.com> 4899 4900 * var-tracking.c (vt_expand_loc_callback): Don't run 4901 cselib_expand_value_rtx_cb in dummy mode if 4902 cselib_dummy_expand_value_rtx_cb returned false. 4903 4904 * var-tracking.c (emit_note_insn_var_location): For one part 4905 notes with offset 0, don't add EXPR_LIST around the location. 4906 * dwarf2out.c (loc_descriptor, dw_loc_list_1, 4907 add_location_or_const_value_attribute): Adjust for that change. 4908 4909 PR debug/43540 4910 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum 4911 into first operand and location into second. 4912 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of 4913 dw_cfi_oprnd_loc for DW_CFA_expression. 4914 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression. 4915 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression 4916 assume first argument is regnum and second argument is location. 4917 49182010-03-26 Uros Bizjak <ubizjak@gmail.com> 4919 4920 PR target/42113 4921 * config/alpha/alpha.md (*cmp_sadd_si): Change mode 4922 of scratch register to DImode. Split to DImode comparison operator. 4923 Use SImode subreg of scratch register in the multiplication. 4924 (*cmp_sadd_sidi): Ditto. 4925 (*cmp_ssub_si): Ditto. 4926 (*cmp_ssub_sidi): Ditto. 4927 49282010-03-26 Uros Bizjak <ubizjak@gmail.com> 4929 4930 PR target/43524 4931 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]: 4932 Remove invalid assert and wrong comment. 4933 49342010-03-26 Jakub Jelinek <jakub@redhat.com> 4935 4936 PR debug/43516 4937 * flags.h (final_insns_dump_p): New extern. 4938 * final.c (final_insns_dump_p): New variable. 4939 (rest_of_clean_state): Set it before -fdump-final-insns= 4940 dumping, clear afterwards. 4941 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump 4942 MEM_ALIAS_SET on MEMs. 4943 49442010-03-26 David S. Miller <davem@davemloft.net> 4945 4946 * configure.ac: Fix sparc GOTDATA_OP bug check. 4947 * configure: Rebuild. 4948 49492010-03-26 Alan Modra <amodra@gmail.com> 4950 4951 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison. 4952 49532010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4954 4955 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP, 4956 TLS_SECTION_ASM_FLAG. 4957 49582010-03-25 Jakub Jelinek <jakub@redhat.com> 4959 4960 PR bootstrap/43511 4961 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO. 4962 Clear first_function_block_is_cold. 4963 4964 PR c/43385 4965 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect 4966 argument if the argument is truth_value_p. 4967 49682010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com> 4969 4970 * config/rs6000/constraints.md: Update copyright year for my changes. 4971 4972 PR target/43484 4973 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is 4974 used in reg+reg addressing, swap registers. 4975 49762010-03-24 Jakub Jelinek <jakub@redhat.com> 4977 4978 PR debug/43293 4979 * target.h (struct gcc_target): Add code_end hook. 4980 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void 4981 if not yet defined. 4982 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END. 4983 * toplev.c (compile_file): Call targetm.asm_out.code_end 4984 hook before unwind info/debug info output. 4985 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end. 4986 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define. 4987 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack. 4988 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define. 4989 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack. 4990 * config/i386/i386.c (ix86_file_end): Renamed to... 4991 (ix86_code_end): ... this. Make static. Don't call 4992 file_end_indicate_exec_stack. Emit unwind info using 4993 final_start_function/final_end_function. 4994 (darwin_x86_file_end): Remove. 4995 (TARGET_ASM_CODE_END): Define. 4996 * config/i386/i386.h (TARGET_ASM_FILE_END, 4997 NEED_INDICATE_EXEC_STACK): Don't define. 4998 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype. 4999 (TARGET_ASM_FILE_END): Define to darwin_file_end. 5000 * config/i386/i386-protos.h (ix86_file_end): Remove prototype. 5001 * doc/tm.texi (TARGET_ASM_CODE_END): Document. 5002 5003 PR target/43498 5004 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function 5005 at the beginning and final_end_function at the end. 5006 * config/s390/s390.c (s390_output_mi_thunk): Likewise. 5007 50082010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5009 5010 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support 5011 and Sun as TLS syntax. 5012 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define. 5013 * configure: Regenerate. 5014 * config.in: Regenerate. 5015 * varasm.c (TLS_SECTION_ASM_FLAG): Define default. 5016 (default_elf_asm_named_section): Use it. 5017 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF. 5018 (i386_output_dwarf_dtprel): Likewise. 5019 (output_addr_const_extra): Likewise. 5020 (output_pic_addr_const): Lowercase @GOTTPOFF. 5021 (output_addr_const_extra): Likewise. 5022 (output_pic_addr_const): Lowercase @GOTNTPOFF. 5023 (output_addr_const_extra): Likewise. 5024 (output_pic_addr_const): Lowercase @INDNTPOFF. 5025 (output_addr_const_extra): Likewise. 5026 (output_pic_addr_const): Lowercase @NTPOFF. 5027 (output_addr_const_extra): Likewise. 5028 (output_pic_addr_const): Lowercase @TPOFF. 5029 (output_addr_const_extra): Likewise. 5030 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD. 5031 (*tls_global_dynamic_64): Likewise. 5032 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM. 5033 (*tls_local_dynamic_base_64): Lowercase @TLSLD. 5034 5035 * defaults.h (TLS_COMMON_ASM_OP): Provide default. 5036 (ASM_OUTPUT_TLS_COMMON): Use it. 5037 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef. 5038 5039 PR target/38118 5040 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file. 5041 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ... 5042 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here. 5043 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine. 5044 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine. 5045 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine. 5046 50472010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5048 5049 * config/i386/i386.c (override_options): Don't accept 5050 -mtls-dialect=sun any longer. 5051 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0. 5052 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove. 5053 (*tls_local_dynamic_base_32_sun): Likewise. 5054 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine. 5055 50562010-03-24 Jakub Jelinek <jakub@redhat.com> 5057 5058 PR debug/43508 5059 * dwarf2out.c (mem_loc_descriptor): Don't ICE on 5060 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}. 5061 5062 PR debug/43479 5063 * ira.c (adjust_cleared_regs): New function. 5064 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs. 5065 5066 PR debug/19192 5067 PR debug/43479 5068 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK 5069 from gimple_block. 5070 * expr.c (expand_expr_real): Restore previous 5071 curr_insn_source_location and curr_insn_block after 5072 expand_expr_real_1 call. 5073 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real 5074 instead of expand_expr_real_1. 5075 50762010-03-23 Vladimir Makarov <vmakarov@redhat.com> 5077 5078 PR rtl-optimization/43413 5079 * ira-color.c (setup_allocno_available_regs_num): Count prohibited 5080 hard regs too. 5081 50822010-03-22 James E. Wilson <wilson@codesourcery.com> 5083 5084 PR target/43348 5085 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp, 5086 call_value_gp, sibcall_gp): Use 's' constraint not 'i'. 5087 50882010-03-22 H.J. Lu <hongjiu.lu@intel.com> 5089 5090 * config/i386/i386.c (ix86_target_string): Add -mfma. 5091 Fix a typo in comment. 5092 50932010-03-22 Mike Stump <mikestump@comcast.net> 5094 5095 PR target/23071 5096 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align): 5097 Don't overly align based upon packed packed fields. 5098 50992010-03-22 Jason Merrill <jason@redhat.com> 5100 5101 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]: 5102 Use () rather than [], and move before the element type. 5103 51042010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5105 5106 * doc/configfiles.texi (Configuration Files): Removed 5107 fixinc/Makefile*, intl/Makefile.*. 5108 * doc/makefile.texi: Fixed markup. Abstract from version 5109 control system used. 5110 (Makefile): Removed obsolete gcc/java/parse.y example. 5111 * doc/sourcebuild.texi: Likewise. 5112 (Top Level): Added config, gnattools, libdecnumber, libgcc, 5113 libgomp, libssp. Removed fastjar. 5114 (Miscellaneous Docs): Clarify location. 5115 Added COPYING3, COPYING3.LIB. 5116 (Front End Directory): Moved Make-lang.in entry to new subsubsection. 5117 51182010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5119 5120 PR target/38085 5121 * config/i386/i386.c (x86_function_profiler) 5122 [!NO_PROFILE_COUNTERS]: Fix typo. 5123 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call 5124 instead of callq. 5125 51262010-03-22 Janis Johnson <janis187@us.ibm.com> 5127 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5128 5129 * doc/sourcebuild.texi (Test Directives): Split into six 5130 subsections, with most of the current text in new subsections 5131 Directives, Selectors, and Final Actions. 5132 (Directives): Split list of test directives into multiple 5133 subsubsections. 5134 (Selectors): Describe use and syntax of selectors. 5135 (Effective-Target Keywords): Describe all existing keywords. 5136 (Add Options): Describe features for dg-add-options. 5137 (Require Support): Describe variants of dg-require-support. 5138 (Final Actions): Describe commands to use in dg-final. 5139 51402010-03-22 Michael Matz <matz@suse.de> 5141 5142 PR middle-end/43475 5143 * recog.c (validate_replace_rtx_group): Replace also in 5144 REG_EQUAL and REG_EQUIV notes. 5145 51462010-03-22 Richard Guenther <rguenther@suse.de> 5147 5148 PR tree-optimization/43390 5149 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make 5150 sure vector extracts are type correct. 5151 51522010-03-22 Richard Guenther <rguenther@suse.de> 5153 5154 PR middle-end/40106 5155 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as 5156 x * sqrt (x) even when optimizing for size if the target 5157 has native support for sqrt. 5158 51592010-03-22 Jakub Jelinek <jakub@redhat.com> 5160 5161 * varasm.c (make_decl_rtl_for_debug): Also clear 5162 flag_mudflap for the duration of make_decl_rtl call. 5163 5164 PR debug/43443 5165 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS 5166 locs from preserved VALUEs. 5167 51682010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 5169 5170 PR middle-end/42718 5171 * pa.md (movmemsi): Set align to one if zero. 5172 (movmemdi): Likewise. 5173 51742010-03-21 Richard Earnshaw <rearnsha@arm.com> 5175 5176 PR target/42321 5177 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions 5178 with their corresponding prologue pushes. 5179 51802010-03-20 Andrew Pinski <pinskia@gmail.com> 5181 5182 PR target/43156 5183 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED 5184 at the begining or end. 5185 (spu_expand_epilogue): Likewise. 5186 51872010-03-20 Richard Guenther <rguenther@suse.de> 5188 5189 PR rtl-optimization/43438 5190 * combine.c (make_extraction): Properly zero-/sign-extend an 5191 extraction of the low part of a CONST_INT. Also handle 5192 CONST_DOUBLE. 5193 51942010-03-19 Mike Stump <mikestump@comcast.net> 5195 5196 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add. 5197 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add. 5198 (override_options): Use SUBTARGET32_DEFAULT_CPU. 5199 52002010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com> 5201 5202 PR c/43211 5203 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was 5204 an error. 5205 52062010-03-19 Bernd Schmidt <bernd.schmidt@codesourcery.com> 5207 5208 PR rtl-optimization/42258 5209 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a 5210 use that may match DEF. 5211 5212 PR target/40697 5213 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out 5214 the cost of loading the constant rather than assuming 5215 COSTS_N_INSNS (1). 5216 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the 5217 outer code is AND, do the same tests as the andsi3 expander and 5218 return COSTS_N_INSNS (1) if and is cheap. 5219 5220 * optabs.c (avoid_expensive_constant): Fix formatting. 5221 52222010-03-19 Michael Matz <matz@suse.de> 5223 5224 PR c++/43116 5225 * attribs.c (decl_attributes): When rebuilding a function pointer 5226 type use the same qualifiers as the original pointer type. 5227 52282010-03-19 Martin Jambor <mjambor@suse.cz> 5229 5230 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant 5231 and is_gimple_ip_invariant_address. 5232 52332010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 5234 5235 Revert 5236 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 5237 5238 * config/arm/arm.c (arm_override_options): Turn off 5239 flag_dwarf2_cfi_asm for AAPCS variants. 5240 52412010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 5242 5243 PR target/43399 5244 * config/arm/arm.c (emit_multi_reg_push): Update comments. 5245 Use PRE_MODIFY instead of PRE_DEC. 5246 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC. 5247 (vfp_emit_fstmd): Likewise. 5248 52492010-03-19 Michael Matz <matz@suse.de> 5250 5251 PR target/43305 5252 * builtins.c (expand_builtin_interclass_mathfn, 5253 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls 5254 if that fails. 5255 52562010-03-19 Richard Guenther <rguenther@suse.de> 5257 5258 PR tree-optimization/43415 5259 * tree-ssa-pre.c (phi_translate): Split out worker to ... 5260 (phi_translate_1): ... this. 5261 (phi_translate): Move all caching here. Cache all NARY 5262 and REFERENCE translations. 5263 52642010-03-19 David S. Miller <davem@davemloft.net> 5265 5266 With help from Eric Botcazou. 5267 * config/sparc/sparc.c: Include dwarf2out.h. 5268 (emit_pic_helper): Delete. 5269 (pic_helper_symbol_name): Delete. 5270 (pic_helper_emitted_p): Delete. 5271 (pic_helper_needed): New. 5272 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'. 5273 (get_pc_thunk_name): New. 5274 (load_pic_register): Remove 'delay_pic_helper' arg. Use 5275 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol. 5276 Set pic_helper_needed to true. Don't call emit_pic_helper. 5277 (sparc_expand_prologue): Update load_pic_register call. 5278 (sparc_output_mi_thunk): Likewise. 5279 (sparc_file_end): Emit a hidden comdat symbol for the PIC 5280 thunk if possible. Output CFI information as needed. 5281 52822010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 5283 Jack Howarth <howarth@bromo.med.uc.edu> 5284 5285 PR target/36399 5286 * config/i386/i386.h: Fix ABI on darwin x86-32. 5287 52882010-03-18 Aldy Hernandez <aldyh@redhat.com> 5289 5290 * tree.h: Declare make_decl_rtl_for_debug. 5291 * varasm.c (make_decl_rtl_for_debug): New. 5292 * dwarf2out.c (rtl_for_decl_location): Call it. 5293 * cfgexpand.c (expand_debug_expr): Call it. 5294 52952010-03-18 Jakub Jelinek <jakub@redhat.com> 5296 5297 PR bootstrap/43399 5298 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode 5299 mem_mode. 5300 5301 PR bootstrap/43403 5302 * var-tracking.c (vt_init_cfa_base): Do nothing if 5303 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register. 5304 53052010-03-18 Alexandre Oliva <aoliva@redhat.com> 5306 5307 PR debug/42873 5308 * var-tracking.c (canonicalize_vars_star): New. 5309 (dataflow_post_merge_adjust): Use it. 5310 53112010-03-18 Jakub Jelinek <jakub@redhat.com> 5312 5313 PR debug/43058 5314 * var-tracking.c (non_suitable_const): New function. 5315 (add_uses): For DEBUG_INSNs with constants, don't record any 5316 value, instead just the constant value itself. 5317 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC 5318 is not VAR_LOC_UNKNOWN_P, set var to the constant. 5319 (emit_notes_in_bb): Likewise. 5320 (emit_note_insn_var_location): For onepart variables if 5321 cur_loc is a VOIDmode constant, use DECL_MODE. 5322 53232010-03-18 Martin Jambor <mjambor@suse.cz> 5324 5325 PR middle-end/42450 5326 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare. 5327 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in 5328 all non-clones. Moved call redirection... 5329 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function. 5330 (cgraph_materialize_all_clones): Dispose of all 5331 combined_args_to_skip bitmaps. 5332 (verify_cgraph_node): Do not check for edges pointing to wrong 5333 nodes in inline clones. 5334 * tree-inline.c (copy_bb): Call 5335 cgraph_redirect_edge_call_stmt_to_callee. 5336 * ipa.c (cgraph_remove_unreachable_nodes): Call 5337 cgraph_node_remove_callees even when there are used clones. 5338 53392010-03-18 H.J. Lu <hongjiu.lu@intel.com> 5340 5341 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0. 5342 53432010-03-18 H.J. Lu <hongjiu.lu@intel.com> 5344 5345 PR target/43383 5346 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0 5347 for 32bit. 5348 53492010-03-18 Michael Matz <matz@suse.de> 5350 5351 PR middle-end/43419 5352 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5) 5353 into sqrt(x) if we need to preserve signed zeros. 5354 53552010-03-18 Steven Bosscher <steven@gcc.gnu.org> 5356 Eric Botcazou <ebotcazou@adacore.com> 5357 5358 PR rtl-optimization/43360 5359 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL 5360 note if we don't know its invariant status. 5361 53622010-03-18 Michael Matz <matz@suse.de> 5363 5364 PR tree-optimization/43402 5365 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow 5366 PHI chains of ssa names registered for update. 5367 53682010-03-17 Peter Bergner <bergner@vnet.ibm.com> 5369 5370 PR target/42427 5371 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for 5372 non-offsettable and pre_modify update addressing. 5373 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1" 5374 and "2" alternatives "#". 5375 (*movdd_softfloat32): Make all alternatives "#"; 5376 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator. 5377 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#". 5378 (*movdf_softfloat32): Make all alternatives "#"; 5379 (movdi): Use the new DIFD mode iterator to create a common splitter 5380 for movdi, movdf and movdd patterns. 5381 53822010-03-18 Shujing Zhao <pearly.zhao@oracle.com> 5383 5384 * common.opt (dumpdir): Remove redundant tab. 5385 53862010-03-17 Martin Jambor <mjambor@suse.cz> 5387 5388 PR tree-optimization/43347 5389 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the 5390 original base is DECL_ARTIFICIAL or DECL_IGNORED_P. 5391 53922010-03-17 Bernd Schmidt <bernd.schmidt@analog.com> 5393 5394 PR rtl-optimization/42216 5395 * regrename.c (create_new_chain): New function, broken out from... 5396 (scan_rtx_reg): ... here. Call it. Handle the case where we are 5397 appending a use to an empty chain. 5398 (build_def_use): Remove previous changes that convert OP_INOUT to 5399 OP_OUT operands; instead detect the case where an OP_INOUT operand 5400 uses a previously untracked register and create an empty chain for it. 5401 54022010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5403 5404 * doc/extend.texi (Function Attributes): Rewrite unfinished 5405 sentence in ms_abi documentation. 5406 54072010-03-17 Alan Modra <amodra@gmail.com> 5408 5409 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var. 5410 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define. 5411 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL. 5412 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define. 5413 54142010-03-16 Richard Henderson <rth@redhat.com> 5415 5416 PR middle-end/43365 5417 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq. 5418 (lower_try_finally): Save and restore eh_seq around the expansion 5419 of the try-finally. 5420 54212010-03-16 Aldy Hernandez <aldyh@redhat.com> 5422 5423 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug 5424 statements before splitting block. 5425 54262010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 5427 5428 * doc/sourcebuild.texi (Testsuites): Fix markup. 5429 Use pathnames relative to gcc/testsuite. 5430 (Test Directives): Move description of how timeout is determined. 5431 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc. 5432 (C Tests): Correct gcc.misc-tests directory. 5433 Framework tests now live in gcc.test-framework. 5434 54352010-03-16 Richard Guenther <rguenther@suse.de> 5436 5437 PR middle-end/43379 5438 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI 5439 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly. 5440 54412010-03-16 Aldy Hernandez <aldyh@redhat.com> 5442 Alexandre Oliva <aoliva@redhat.com> 5443 5444 PR tree-optimization/42917 5445 * lambda-code.c (remove_iv): Skip debug statements. 5446 (lambda_loopnest_to_gcc_loopnest): Likewise. 5447 (not_interesting_stmt): Debug statements are not interesting. 5448 54492010-03-16 Jakub Jelinek <jakub@redhat.com> 5450 5451 PR debug/43051 5452 PR debug/43092 5453 * cselib.c (cselib_preserve_constants, 5454 cfa_base_preserved_val): New static variables. 5455 (preserve_only_constants): New function. 5456 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't 5457 clear its REG_VALUES. If cselib_preserve_constants, don't 5458 empty the whole hash table, but preserve there VALUEs with constants, 5459 cfa_base_preserved_val and cfa_base_preserved_val plus constant. 5460 (cselib_preserve_cfa_base_value): New function. 5461 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val. 5462 (cselib_init): Change argument to int bitfield. Set 5463 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS 5464 is in it. 5465 (cselib_finish): Clear cselib_preserve_constants and 5466 cfa_base_preserved_val. 5467 * cselib.h (enum cselib_record_what): New enum. 5468 (cselib_init): Change argument to int. 5469 (cselib_preserve_cfa_base_value): New prototype. 5470 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller. 5471 * dse.c (dse_step1): Likewise. 5472 * cfgcleanup.c (thread_jump): Likewise. 5473 * sched-deps.c (sched_analyze): Likewise. 5474 * gcse.c (local_cprop_pass): Likewise. 5475 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback. 5476 If FN is non-NULL, call the callback always and whenever it returns 5477 non-NULL just return that. Only do rtx_equal_p if FN is NULL. 5478 * rtl.h (simplify_replace_fn_rtx): Add argument to callback. 5479 * combine.c (propagate_for_debug_subst): Add old_rtx argument, 5480 compare from with old_rtx and if it isn't rtx_equal_p, return NULL. 5481 * Makefile.in (var-tracking.o): Depend on $(RECOG_H). 5482 * var-tracking.c: Include recog.h. 5483 (bb_stack_adjust_offset): Remove. 5484 (vt_stack_adjustments): Don't call it, instead just gather the 5485 adjustments using insn_stack_adjust_offset_pre_post on each bb insn. 5486 (adjust_stack_reference): Remove. 5487 (compute_cfa_pointer): New function. 5488 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables. 5489 (struct adjust_mem_data): New type. 5490 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New 5491 functions. 5492 (get_address_mode): New function. 5493 (replace_expr_with_values): Use it. 5494 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P. 5495 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER. 5496 (adjust_sets): Remove. 5497 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant. 5498 Use get_address_mode. 5499 (get_adjusted_src): Remove. 5500 (add_stores): Don't call it. Never reuse expr SET. Don't add extra 5501 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode. 5502 (add_with_sets): Don't call adjust_sets. 5503 (fp_setter, vt_init_cfa_base): New functions. 5504 (vt_initialize): Change return type to bool. Move most of pool etc. 5505 initialization to the beginning of the function from end. Pass 5506 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init. 5507 If !frame_pointer_needed, call vt_stack_adjustment before mos 5508 vector is filled, call vt_init_cfa_base if argp/framep has been 5509 eliminated to sp. If frame_pointer_needed and argp/framep has 5510 been eliminated to hard frame pointer, set 5511 hard_frame_pointer_adjustment and call vt_init_cfa_base after 5512 encountering fp setter in the prologue. For MO_ADJUST, call 5513 log_op_type before pusing the op into mos vector, not afterwards. 5514 Call adjust_insn before cselib_process_insn/add_with_sets, 5515 call cancel_changes (0) afterwards. 5516 (variable_tracking_main_1): Adjust for vt_initialize calling 5517 vt_stack_adjustments and returning whether it succeeded or not. 5518 55192010-03-15 Aldy Hernandez <aldyh@redhat.com> 5520 5521 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip 5522 debug statements. 5523 55242010-03-15 Jakub Jelinek <jakub@redhat.com> 5525 5526 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg 5527 has been set. 5528 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when 5529 drap_reg has not been set. 5530 55312010-03-15 Michael Matz <matz@suse.de> 5532 5533 PR middle-end/43300 5534 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp, 5535 use it to expand block copies. 5536 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge, 5537 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy. 5538 (insert_value_copy_on_edge): Use store_expr for BLKmode values. 5539 55402010-03-15 Richard Guenther <rguenther@suse.de> 5541 5542 PR tree-optimization/43367 5543 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI 5544 elimination check. 5545 55462010-03-15 Richard Guenther <rguenther@suse.de> 5547 5548 PR tree-optimization/43317 5549 * ipa-struct-reorg.c (create_new_general_access): Update stmt. 5550 55512010-03-15 Martin Jambor <mjambor@suse.cz> 5552 5553 PR tree-optimization/43141 5554 * tree-sra.c (create_abstract_origin): New function. 5555 (modify_function): Call create_abstract_origin. 5556 55572010-03-15 Chris Demetriou <cgd@google.com> 5558 5559 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it 5560 wasn't copied. 5561 55622010-03-13 Sebastian Pop <sebastian.pop@amd.com> 5563 5564 PR middle-end/43354 5565 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not 5566 call insert_out_of_ssa_copy for default definitions. 5567 55682010-03-13 Sebastian Pop <sebastian.pop@amd.com> 5569 5570 * graphite-clast-to-gimple.c (my_long_long): Defined. 5571 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node. 5572 * graphite-sese-to-poly.c (my_long_long): Defined. 5573 (scop_ivs_can_be_represented): Use it. 5574 55752010-03-13 Sebastian Pop <sebastian.pop@amd.com> 5576 5577 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params, 5578 graphite-max-bbs-per-function, and loop-block-tile-size. 5579 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal" 5580 with "maximum". 5581 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same. 5582 55832010-03-13 Sebastian Pop <sebastian.pop@amd.com> 5584 5585 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove 5586 forward declaration. 5587 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment. 5588 (add_upper_bounds_from_estimated_nit): New. 5589 (build_loop_iteration_domains): Use it. 5590 55912010-03-13 Sebastian Pop <sebastian.pop@amd.com> 5592 5593 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document. 5594 55952010-03-13 Sebastian Pop <sebastian.pop@amd.com> 5596 5597 PR middle-end/43306 5598 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT 5599 should be an INTEGER_CST. Also handle CASE_CONVERT. 5600 56012010-03-13 Sebastian Pop <sebastian.pop@amd.com> 5602 5603 * graphite.c (graphite_initialize): To bound the number of bbs per 5604 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION. 5605 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared. 5606 * doc/invoke.texi: Document it. 5607 56082010-03-13 Sebastian Pop <sebastian.pop@amd.com> 5609 5610 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool. 5611 * graphite-sese-to-poly.h (build_poly_scop): Same. 5612 56132010-03-13 Sebastian Pop <sebastian.pop@amd.com> 5614 5615 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following 5616 the number of parameters in the scop. Use as an upper bound 5617 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS. 5618 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared. 5619 * doc/invoke.texi: Document it. 5620 56212010-03-13 Jerry Quinn <jlquinn@optonline.net> 5622 5623 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi. 5624 * doc/c-tree.texi: Remove. 5625 * doc/generic.texi: Merge c-tree.texi here. 5626 * doc/gccint.texi (Trees): Remove menu entry. 5627 (c-tree.texi): Remove @include. 5628 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC. 5629 * doc/languages.texi (Reading RTL): Ditto. 5630 56312010-03-12 Steve Ellcey <sje@cup.hp.com> 5632 5633 PR target/42869 5634 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence. 5635 56362010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com> 5637 5638 PR middle-end/42431 5639 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid 5640 code added to work around reload clobbering CONST insns. 5641 56422010-03-12 Jakub Jelinek <jakub@redhat.com> 5643 5644 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove. 5645 (cselib_preserve_definitely, cselib_clear_preserve): Remove. 5646 (cselib_preserve_only_values): Remove retain argument, don't 5647 traverse hash table with cselib_{preserve_definitely,clear_preserve}. 5648 * cselib.h (cselib_preserve_only_values): Remove retain argument. 5649 * var-tracking.c (micro_operation): Move insn field before union. 5650 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type. 5651 (struct variable_tracking_info_def): Remove n_mos field, change 5652 mos into a vector of micro_operations. 5653 (count_uses, count_uses_1, count_stores, count_with_sets): Remove. 5654 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores, 5655 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos 5656 changing into a vector. 5657 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores 5658 come before all other uops generated by add_stores. 5659 (vt_add_function_parameters): Adjust for cselib_preserve_only_values 5660 argument removal. 5661 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into 5662 a vector. Run just one pass over the bbs instead of separate counting 5663 and computation phase. 5664 (vt_finalize): Free VTI (bb)->mos vector instead of array. 5665 5666 PR debug/43329 5667 * tree-inline.c (remap_decls): Put old_var rather than origin_var 5668 into *nonlocalized_list vector. 5669 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin 5670 even if origin is non-NULL. 5671 (gen_variable_die): Likewise. 5672 (process_scope_var): Don't change origin. 5673 (gen_decl_die): Likewise. 5674 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p 5675 before adding new edges instead of after it, fix moving over 5676 debug stmts. 5677 56782010-03-11 David S. Miller <davem@davemloft.net> 5679 5680 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple 5681 of four. 5682 * configure: Rebuild. 5683 56842010-03-11 Martin Jambor <mjambor@suse.cz> 5685 5686 PR tree-optimization/43257 5687 * tree.c (assign_assembler_name_if_neeeded): New function. 5688 (free_lang_data_in_cgraph): Assembler name assignment moved to the 5689 above new function. 5690 * tree.h (assign_assembler_name_if_neeeded): Declare. 5691 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for 5692 the function if needed. 5693 56942010-03-11 Chris Demetriou <cgd@google.com> 5695 5696 * Makefile.in (stmp-int-hdrs): Make include/unwind.h, 5697 include/stdint-gcc.h, and include/stdint.h world-readable. 5698 56992010-03-11 Richard Guenther <rguenther@suse.de> 5700 5701 PR tree-optimization/43255 5702 * tree-vrp.c (process_assert_insertions_for): Do not insert 5703 asserts for trivial conditions. 5704 57052010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 5706 5707 PR tree-optimization/43280 5708 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number 5709 generation. Move calculation of size out of the if branch. 5710 (find_bswap): Modify compare number generation. 5711 57122010-03-11 Richard Guenther <rguenther@suse.de> 5713 5714 PR lto/43200 5715 * lto-streamer-in.c (maybe_fixup_decls): Simplify. 5716 (input_gimple_stmt): Fixup handled component types during 5717 operand read. Also fix up decls in ADDR_EXPRs. 5718 57192010-03-10 Eric Botcazou <ebotcazou@adacore.com> 5720 5721 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32. 5722 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus. 5723 57242010-03-10 Jan Hubicka <jh@suse.cz> 5725 5726 PR c/43288 5727 * ipa.c (function_and_variable_visibility) Normalize COMMON bits. 5728 * varasm.c (get_variable_section): Don't do that here... 5729 (make_decl_rtl): ... and here. 5730 (do_assemble_alias): Produce decl RTL. 5731 (assemble_alias): Likewise. 5732 57332010-03-10 Jakub Jelinek <jakub@redhat.com> 5734 5735 PR debug/43290 5736 * reg-notes.def (REG_CFA_SET_VDRAP): New note. 5737 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting 5738 of fde->vdrap_reg. 5739 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note. 5740 (based_loc_descr): Only express drap or vdrap regno based expressions 5741 using DW_OP_fbreg when not optimizing. 5742 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing, 5743 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add 5744 REG_CFA_SET_VDRAP note. 5745 57462010-03-10 Alexander Monakov <amonakov@ispras.ru> 5747 5748 PR tree-optimization/43236 5749 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one 5750 error in calculation of base address in reverse iteration case. 5751 (generate_builtin): Take number of latch executions if the statement 5752 is in the latch. 5753 57542010-03-10 Andrey Belevantsev <abel@ispras.ru> 5755 5756 PR middle-end/42859 5757 * tree-eh.c: Include pointer-set.h. 5758 (lower_eh_dispatch): Filter out duplicate case labels and 5759 remove the unneeded edge when the label is unused. Return 5760 true when some edges are removed. 5761 (execute_lower_eh_dispatch): When any lowering resulted in 5762 removing an edge, also delete unreachable blocks. 5763 57642010-03-10 Jakub Jelinek <jakub@redhat.com> 5765 5766 PR bootstrap/43287 5767 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle 5768 UNSPEC_MACHOPIC_OFFSET. 5769 57702010-03-09 Andreas Schwab <schwab@linux-m68k.org> 5771 5772 PR target/43294 5773 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define. 5774 (m68k_delegitimize_address): New function. 5775 57762010-03-09 Jakub Jelinek <jakub@redhat.com> 5777 5778 PR debug/43299 5779 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs. 5780 5781 PR debug/43299 5782 * var-tracking.c (adjust_sets): New function. 5783 (count_with_sets, add_with_sets): Use it. 5784 (get_adjusted_src): New inline function. 5785 (add_stores): Use it. 5786 5787 PR debug/43304 5788 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy, 5789 call cselib_dummy_expand_value_rtx_cb instead of 5790 cselib_expand_value_rtx_cb. 5791 5792 PR debug/43293 5793 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h. 5794 * config/i386/i386.c: Include debug.h and dwarf2out.h. 5795 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc 5796 and .cfi_endproc around the pic thunks. 5797 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure 5798 all queued unwind info register saves are saved before the call. 5799 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is 5800 considered as sp-=4 for unwind info and the pop as sp+=4 which 5801 also clobbers dest, but doesn't actually restore it. 5802 5803 PR debug/43290 5804 * config/i386/i386.c (ix86_get_drap_rtx): Don't set 5805 RTX_FRAME_RELATED_P. 5806 58072010-03-09 Jie Zhang <jie@codesourcery.com> 5808 5809 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing 5810 whitespaces in output template. 5811 58122010-03-09 Jie Zhang <jie@codesourcery.com> 5813 5814 * ira-lives.c (check_and_make_def_use_conflict): Don't fall 5815 out array boundary. 5816 58172010-03-08 Jakub Jelinek <jakub@redhat.com> 5818 5819 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and 5820 builtins.exp in a separate job. 5821 58222010-03-08 Sebastian Pop <sebastian.pop@amd.com> 5823 5824 * graphite-sese-to-poly.c (add_param_constraints): Use 5825 lower_bound_in_type and upper_bound_in_type. 5826 58272010-03-08 Sebastian Pop <sebastian.pop@amd.com> 5828 5829 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype 5830 instead of unsigned_type_node. 5831 58322010-03-08 Sebastian Pop <sebastian.pop@amd.com> 5833 Reza Yazdani <reza.yazdani@amd.com> 5834 5835 PR middle-end/43065 5836 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds 5837 on pointer type parameters. 5838 58392010-03-08 Tobias Grosser <grosser@fim.uni-passau.de> 5840 5841 PR middle-end/42644 5842 PR middle-end/42130 5843 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also 5844 handle conversions from pointer to integers. 5845 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an 5846 induction variable, to be able to work with code generated by CLooG. 5847 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New. 5848 (build_poly_scop): Bail out if we cannot codegen a loop. 5849 58502010-03-08 Tobias Grosser <grosser@fim.uni-passau.de> 5851 5852 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut 5853 code generation with gloog_error. 5854 58552010-03-08 Sebastian Pop <sebastian.pop@amd.com> 5856 5857 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type. 5858 Call fold_convert on all the returned values. 5859 (expand_scalar_variables_expr): Pass to 5860 expand_scalar_variables_ssa_name the type of the resulting expression. 5861 58622010-03-08 Sebastian Pop <sebastian.pop@amd.com> 5863 5864 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed 5865 ppl_min_for_le_pointset. 5866 Use ppl_Pointset_Powerset_C_Polyhedron_minimize. 5867 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration. 5868 58692010-03-08 Sebastian Pop <sebastian.pop@amd.com> 5870 5871 * graphite-dependences.c (map_into_dep_poly): Removed. 5872 (dependence_polyhedron_1): Use combine_context_id_scat. 5873 58742010-03-08 Sebastian Pop <sebastian.pop@amd.com> 5875 5876 * graphite-poly.h (struct poly_scattering): Add layout documentation. 5877 (struct poly_bb): Same. 5878 (combine_context_id_scat): New. 5879 58802010-03-08 Sebastian Pop <sebastian.pop@amd.com> 5881 5882 PR middle-end/42326 5883 * sese.c (name_defined_in_loop_p): Return false for default 5884 definitions. 5885 58862010-03-08 Sebastian Pop <sebastian.pop@amd.com> 5887 5888 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify 5889 and clean up the logic. 5890 58912010-03-08 Sebastian Pop <sebastian.pop@amd.com> 5892 5893 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove 5894 early return. 5895 58962010-03-08 Jakub Jelinek <jakub@redhat.com> 5897 5898 * var-tracking.c (remove_cselib_value_chains): Define only for 5899 ENABLE_CHECKING. 5900 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs, 5901 delete_slot_part, emit_notes_for_differences_1): Don't call 5902 remove_cselib_value_chains here. 5903 (set_slot_part, emit_notes_for_differences_2): Don't call 5904 add_cselib_value_chains here. 5905 (preserved_values): New vector. 5906 (preserve_value): New function. 5907 (add_uses, add_stores, vt_add_function_parameters): Use it 5908 instead of cselib_preserve_value. 5909 (changed_values_stack): New vector. 5910 (check_changed_vars_0): New function. 5911 (check_changed_vars_1, check_changed_vars_2): Use it. 5912 (emit_notes_for_changes): Call set_dv_changed (*, false) on all 5913 changed_values_stack VALUEs. 5914 (vt_emit_notes): For all preserved_values call 5915 add_cselib_value_chains. If ENABLE_CHECKING call 5916 remove_cselib_value_chains before verifying value_chains is empty. 5917 Initialize and free changed_values_stack. 5918 (vt_initialize): Initialize preserved_values. 5919 (vt_finalize): Free preserved_values. 5920 59212010-03-08 Richard Guenther <rguenther@suse.de> 5922 5923 PR tree-optimization/43269 5924 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom 5925 region detection. 5926 59272010-03-08 Martin Jambor <mjambor@suse.cz> 5928 5929 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field. 5930 (ipa_is_param_called): Removed. 5931 * ipa-prop.c (ipa_note_param_call): Do not set the called flag. 5932 (ipa_print_node_params): Do not print the called flag. 5933 (ipa_write_node_info): Do not stream the called flag. 5934 (ipa_read_node_info): Likewise. 5935 59362010-03-07 Jakub Jelinek <jakub@redhat.com> 5937 5938 PR debug/43176 5939 * Makefile.in (var-tracking.o): Depend on pointer-set.h. 5940 * cselib.c (struct expand_value_data): Add dummy field. 5941 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize 5942 dummy to false. 5943 (cselib_dummy_expand_value_rtx_cb): New function. 5944 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate 5945 any rtl. 5946 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype. 5947 * var-tracking.c: Include pointer-set.h. 5948 (variable): Change n_var_parts to char from int. Add 5949 cur_loc_changed and in_changed_variables fields. 5950 (variable_canonicalize): Remove. 5951 (shared_var_p): New inline function. 5952 (unshare_variable): Maintain cur_loc_changed and 5953 in_changed_variables fields. If var was in changed_variables, 5954 replace it there with new_var. Just copy cur_loc instead of 5955 resetting it to something else. 5956 (variable_union): Don't recompute cur_loc. Use shared_var_p. 5957 (dataflow_set_union): Don't call variable_canonicalize. 5958 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids 5959 of their DEBUG_EXPR_TREE_DECLs. 5960 (canonicalize_loc_order_check): Verify that cur_loc is NULL 5961 and in_changed_variables and cur_loc_changed is false. 5962 (variable_merge_over_cur): Clear cur_loc, in_changed_variables 5963 and cur_loc_changed. Don't update cur_loc here. 5964 (variable_merge_over_src): Don't call variable_canonicalize. 5965 (dataflow_set_preserve_mem_locs): Use shared_var_p. When 5966 removing loc that is equal to cur_loc, clear cur_loc, 5967 set cur_loc_changed and ensure variable_was_changed is called. 5968 (dataflow_set_remove_mem_locs): Use shared_var_p. Only 5969 compare pointers in cur_loc check, if it is equal to loc, 5970 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here. 5971 (variable_different_p): Remove compare_current_location argument, 5972 don't compare cur_loc. 5973 (dataflow_set_different_1): Adjust variable_different_p caller. 5974 (variable_was_changed): If dv had some var in changed_variables 5975 already, reset in_changed_variables flag for it and propagate 5976 cur_loc_changed over to the new variable. On empty var 5977 always set cur_loc_changed. Set in_changed_variables on whatever 5978 var is added to changed_variables. 5979 (set_slot_part): Clear cur_loc_changed and in_changed_variables. 5980 Use shared_var_p. When removing loc that is equal to cur_loc, 5981 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the 5982 end, don't set it to something else, just call variable_was_changed. 5983 (delete_slot_part): Use shared_var_p. When cur_loc equals to 5984 loc being removed, clear cur_loc and set cur_loc_changed. 5985 Set cur_loc_changed if all locations have been removed. 5986 (struct expand_loc_callback_data): New type. 5987 (vt_expand_loc_callback): Add dummy mode in which no rtxes are 5988 allocated. Always create SUBREGs if simplify_subreg failed. 5989 Prefer to use cur_loc, when that fails and still in 5990 changed_variables (and seen first time) recompute it. Set 5991 cur_loc_changed of variables which had to change cur_loc and 5992 compute elcd->cur_loc_changed if any of the subexpressions used 5993 had to change cur_loc. 5994 (vt_expand_loc): Adjust to pass arguments in 5995 expand_loc_callback_data structure. 5996 (vt_expand_loc_dummy): New function. 5997 (emitted_notes): New variable. 5998 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs 5999 that weren't used for any other decl in current 6000 emit_notes_for_changes call call vt_expand_loc_dummy to update 6001 cur_loc. For -fno-var-tracking-assignments, set cur_loc to 6002 first loc_chain location if NULL before. Always use just 6003 cur_loc instead of first loc_chain location. When cur_loc_changed 6004 is false, when not --enable-checking=rtl just don't emit any note. 6005 When rtl checking, compute the note and assert it is the same 6006 as previous note. Clear cur_loc_changed and in_changed_variables 6007 at the end before removing from changed_variables. 6008 (check_changed_vars_3): New function. 6009 (emit_notes_for_changes): Traverse changed_vars to call 6010 check_changed_vars_3 on each changed var. 6011 (emit_notes_for_differences_1): Clear cur_loc_changed and 6012 in_changed_variables. Recompute cur_loc of new_var. 6013 (emit_notes_for_differences_2): Clear cur_loc if new variable appears. 6014 (vt_emit_notes): Initialize and destroy emitted_notes. 6015 60162010-03-07 Bernd Schmidt <bernd.schmidt@analog.com> 6017 6018 PR rtl-optimization/42220 6019 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>: 6020 Use verify_reg_tracked to determine if we should use OP_OUT rather 6021 than OP_INOUT. 6022 (build_def_use): If we see an in-out operand for a register that we 6023 know nothing about, treat is an output if possible, fail the block if 6024 not. 6025 60262010-03-06 Alexandre Oliva <aoliva@redhat.com> 6027 6028 PR debug/42897 6029 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed 6030 permanently. 6031 60322010-03-06 Alexandre Oliva <aoliva@redhat.com> 6033 6034 PR debug/42897 6035 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug 6036 uses of relevant DEFs that are dead outside the loop too. 6037 60382010-03-06 Alexandre Oliva <aoliva@redhat.com> 6039 6040 * var-tracking.c (dataflow_set_merge): Swap src and src2. 6041 Reverted: 6042 2010-01-13 Jakub Jelinek <jakub@redhat.com> 6043 PR debug/41371 6044 * var-tracking.c (values_to_unmark): New variable. 6045 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in 6046 values_to_unmark vector. Moved body to... 6047 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO, 6048 instead queue it into values_to_unmark vector. 6049 (vt_find_locations): Free values_to_unmark vector. 6050 60512010-03-05 Eric Botcazou <ebotcazou@adacore.com> 6052 6053 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables. 6054 (site.exp): Export them when plugins are enabled. 6055 60562010-03-05 Sebastian Pop <sebastian.pop@amd.com> 6057 6058 PR middle-end/42326 6059 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions 6060 that contain scevs. 6061 (chrec_fold_multiply): Same. 6062 60632010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com> 6064 6065 PR c/43248 6066 * c-decl.c (build_compound_literal): Return early if init is 6067 an error_mark_node. 6068 60692010-03-04 Martin Jambor <mjambor@suse.cz> 6070 6071 PR tree-optimization/43164 6072 PR tree-optimization/43191 6073 * tree-sra.c (type_consists_of_records_p): Reject records with 6074 zero-size bit-fields at the end. 6075 60762010-03-04 Mike Stump <mikestump@comcast.net> 6077 6078 * Makefile.in (TAGS): Remove *.y. 6079 60802010-03-04 Richard Guenther <rguenther@suse.de> 6081 6082 PR tree-optimization/40761 6083 * tree-ssa-pre.c (compute_antic): Walk reverse postorder 6084 in reverse order. 6085 (my_rev_post_order_compute): New function. 6086 (init_pre): Call it. 6087 60882010-03-04 Changpeng Fang <changpeng.fang@amd.com> 6089 6090 PR middle-end/43209 6091 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not 6092 decrease the cost of an IV candidate when the cost is infinite. 6093 60942010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 6095 6096 * doc/extend.texi (Vector Extensions, X86 Built-in Functions): 6097 Use '3DNow!' for the extension of that name, ensure normal space 6098 after the string. 6099 * doc/invoke.texi (i386 and x86-64 Options): Likewise. 6100 61012010-03-03 Jeff Law <law@redhat.com> 6102 6103 * PR middle-end/32693 6104 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather 6105 than gen_rtx_SUBREG. 6106 (extract_bit_field_1): Likewise. 6107 61082010-03-03 Janis Johnson <janis187@us.ibm.com> 6109 6110 * doc/sourcebuild.texi (Test directives): Document that arguments 6111 include-opts and exclude-opts are now optional for dg-skip-if, 6112 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail. 6113 61142010-03-03 Jason Merrill <jason@redhat.com> 6115 6116 PR c++/12909 6117 * cgraph.h (varpool_node): Add extra_name field. 6118 * varpool.c (varpool_extra_name_alias): New. 6119 (varpool_assemble_decl): Emit extra name aliases. 6120 (varpool_mark_needed_node): Look past an extra name alias. 6121 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias. 6122 * lto-streamer-in.c (lto_input_tree): Read it. 6123 * lto-streamer-out.c (output_unreferenced_globals): Write it. 6124 61252010-03-03 Eric Botcazou <ebotcazou@adacore.com> 6126 6127 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into... 6128 (sparc*-*-solaris2*): ...this. 6129 61302010-03-03 Jakub Jelinek <jakub@redhat.com> 6131 6132 PR debug/43229 6133 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR, 6134 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without 6135 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR, 6136 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR. 6137 6138 PR debug/43237 6139 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die, 6140 fallthrough to default handling, just with want_address 0 instead of 2. 6141 For single element lists, add_AT_loc directly, otherwise create an 6142 artificial variable DIE and stick location list to it. 6143 6144 PR debug/43177 6145 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode. 6146 (VAL_EXPR_HAS_REVERSE): Define. 6147 (reverse_op): New function. 6148 (add_stores): For reversible operations add an extra MO_VAL_USE. 6149 61502010-03-02 Jason Merrill <jason@redhat.com> 6151 6152 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size. 6153 61542010-03-02 Eric Botcazou <ebotcazou@adacore.com> 6155 6156 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h. 6157 (sparc64-*-linux*): Likewise. 6158 (sparc64-*-solaris2*): Include assembler files before linker ones. 6159 (sparc-*-solaris2*): Simplify and reorder to match previous case. 6160 * config/sparc/gas.h: Delete. 6161 * config/sparc/sol2-64.h: Add copyright notice. 6162 * config/sparc/sol2-gas-bi.h: Likewise. 6163 * config/sparc/sol2-gld.h: Likewise. 6164 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete. 6165 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine. 6166 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise. 6167 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine. 6168 (sparc_elf_asm_named_section): Rename into... 6169 (sparc_solaris_elf_asm_named_section): ...this. Always define. 6170 61712010-03-02 Uros Bizjak <ubizjak@gmail.com> 6172 6173 * config/alpha/alpha.c (override_options): Fix -mtune error message. 6174 61752010-03-02 Jeff Law <law@redhat.com> 6176 6177 PR middle-end/42431 6178 * reload1.c (rtx_p, substitute_stack): Declare. 6179 (substitute): Record addresses of changed rtxs. 6180 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore. 6181 Restore the original rtx when complete. 6182 (reload): Free subsitute_stack when complete. 6183 61842010-03-02 Janis Johnson <janis187@us.ibm.com> 6185 6186 * doc/gccint.texi (menu): Add Testsuites as a chapter. 6187 * doc/sourcebuild.texi (Testsuites): Move up a level to be a 6188 new chapter. 6189 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests, 6190 LTO Testing, gcov Testing, profopt Testing, compat Testing, 6191 Torture Tests): Change from subsection to section. 6192 61932010-03-02 Jakub Jelinek <jakub@redhat.com> 6194 Steven Bosscher <steven@gcc.gnu.org> 6195 6196 * var-tracking.c (vt_initialize): Scan insns in ebb chunks 6197 instead of bb. 6198 61992010-03-02 Reza Yazdani <reza.yazdani@amd.com> 6200 6201 PR middle-end/42640 6202 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced 6203 the assignment from the new induction variable to the assignment 6204 of the value from the original loop PHI function. 6205 62062010-03-01 Janis Johnson <janis187@us.ibm.com> 6207 Daniel Jacobowitz <dan@codesourcery.com> 6208 6209 * doc/sourcebuild.texi (Test directives): Clarify options to 6210 dg-skip-if. 6211 62122010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6213 6214 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]: 6215 Disable cfi directives unless GCC and gas agree on using read-only 6216 .eh_frame sections for 64-bit. 6217 * configure: Regenerate. 6218 62192010-03-01 Richard Guenther <rguenther@suse.de> 6220 6221 PR tree-optimization/43220 6222 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize 6223 BUILT_IN_STACK_{SAVE,RESTORE} around alloca. 6224 62252010-03-01 Richard Guenther <rguenther@suse.de> 6226 Martin Jambor <mjambor@suse.cz> 6227 6228 PR middle-end/41250 6229 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on 6230 gimplified parameters. 6231 62322010-03-01 Christian Bruel <christian.bruel@st.com> 6233 6234 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P. 6235 62362010-03-01 H.J. Lu <hongjiu.lu@intel.com> 6237 6238 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64. 6239 62402010-03-01 Richard Guenther <rguenther@suse.de> 6241 6242 PR middle-end/43213 6243 * expr.c (expand_assignment): Use the alias-oracle to tell 6244 if the rhs aliases the result decl. 6245 62462010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6247 6248 PR pch/14940 6249 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine 6250 to sol_gt_pch_get_address. 6251 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and 6252 64-bit, SPARC and x86. 6253 (sol_gt_pch_get_address): New function. 6254 62552010-03-01 Marco Poletti <poletti.marco@gmail.com> 6256 6257 * toplev.h (inform_n, error_n): Declare. 6258 * diagnostic.c (inform_n, error_n): New function. 6259 62602010-03-01 Jakub Jelinek <jakub@redhat.com> 6261 6262 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var 6263 has no rtl yet when processing local_decls, queue it and recheck 6264 if deferred stack allocation hasn't assigned it rtl. 6265 62662010-02-28 Kaz Kojima <kkojima@gcc.gnu.org> 6267 6268 * config/sh/sh.c (unspec_bbr_uid): New. 6269 (gen_block_redirect): Use it instead of INSN_UID. 6270 (gen_far_branch): Likewise. 6271 62722010-02-28 H.J. Lu <hongjiu.lu@intel.com> 6273 6274 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make 6275 it the same as TARGET_SUBTARGET64_ISA_DEFAULT. 6276 62772010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 6278 6279 * doc/invoke.texi (Warning Options, RX Options): Fix typos. 6280 (Warning Options): -Wno-conversion-null is valid for 6281 Objective-C++ as well. 6282 * doc/tm.texi (Named Address Spaces): Likewise. 6283 * doc/plugins.texi (Plugins): Replace TABs with spaces. 6284 * doc/tree-ssa.texi (Tree SSA): Likewise. 6285 62862010-02-27 H.J. Lu <hongjiu.lu@intel.com> 6287 6288 PR bootstrap/43202 6289 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin* 6290 by default. Don't set the default arch for 6291 i[34567]86-*-darwin*|x86_64-*-darwin*. 6292 62932010-02-27 H.J. Lu <hongjiu.lu@intel.com> 6294 6295 PR bootstrap/43202 6296 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by 6297 default. Set the default 32bit/64bit archs with $with_arch 6298 instead of $arch for i[34567]86-*-*|x86_64-*-* targets. 6299 63002010-02-27 Richard Guenther <rguenther@suse.de> 6301 6302 PR tree-optimization/43186 6303 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param. 6304 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document. 6305 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit 6306 unroller iterations. 6307 63082010-02-27 H.J. Lu <hongjiu.lu@intel.com> 6309 6310 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is 6311 required and i[34567]86-*-* targets don't support 64bit ISA. 6312 63132010-02-26 Eric Botcazou <ebotcazou@adacore.com> 6314 6315 PR ada/43096 6316 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have 6317 the same alias set. 6318 63192010-02-26 H.J. Lu <hongjiu.lu@intel.com> 6320 6321 * config.gcc: Set the default arch at least to Prescott for 6322 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets 6323 if SSE math is enabled. 6324 63252010-02-26 Manuel L��pez-Ib����ez <manu@gcc.gnu.org> 6326 6327 * diagnostic.c (diagnostic_initialize): Update. 6328 (diagnostic_report_diagnostic): Test inhibit_notes_p for 6329 informative notes. 6330 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p. 6331 (diagnostic_inhibit_notes): New. 6332 * toplev.c (process_options): inhibit notes with -fcompare-debug. 6333 63342010-02-26 Manuel L��pez-Ib����ez <manu@gcc.gnu.org> 6335 6336 PR c/20631 6337 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89. 6338 * doc/standards.texi: Likewise. 6339 * doc/extend.texi: Likewise. 6340 * doc/trouble.texi: Likewise. 6341 * doc/cppopts.texi: Likewise. 6342 * doc/install.texi: Likewise. 6343 * c.opt (std=c90,std=gnu90): New options. 6344 * c-opts.c (c_common_handle_option): Handle them. 6345 63462010-02-26 Manuel L��pez-Ib����ez <manu@gcc.gnu.org> 6347 6348 PR c/24577 6349 * c-decl.c (undeclared_variable): Use an informative note. 6350 63512010-02-26 Richard Guenther <rguenther@suse.de> 6352 6353 PR tree-optimization/43186 6354 * gimple.h (gimple_fold): Remove. 6355 * gimple.c (gimple_fold): Remove. Inline into single user ... 6356 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here. 6357 Try harder for conditions. 6358 63592010-02-26 Jakub Jelinek <jakub@redhat.com> 6360 6361 PR debug/43190 6362 * function.c (used_types_insert): Don't skip through named pointer 6363 types. Don't use TYPE_MAIN_VARIANT if the original type has a name 6364 and it is different from the main variant's type. 6365 63662010-02-26 Nick Clifton <nickc@redhat.com> 6367 6368 * config/rx/rx.md (sminsi3): Remove bogus alternative. 6369 63702010-02-26 H.J. Lu <hongjiu.lu@intel.com> 6371 6372 * config.gcc: Support --with-fpmath=sse for x86. 6373 6374 * config/i386/ssemath.h: New. 6375 6376 * doc/install.texi (--with-fpmath=sse): Documented. 6377 63782010-02-26 Richard Guenther <rguenther@suse.de> 6379 6380 PR tree-optimization/43188 6381 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build 6382 vector types of over-aligned element type. 6383 63842010-02-26 Uros Bizjak <ubizjak@gmail.com> 6385 6386 PR target/43175 6387 * config/i386/i386.c (expand_vec_perm_blend): Use correct 6388 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx. 6389 63902010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com> 6391 6392 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo. 6393 63942010-02-26 Jakub Jelinek <jakub@redhat.com> 6395 6396 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H). 6397 * var-tracking.c: Include diagnostic.h. 6398 (debug_dv): New function. 6399 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N. 6400 6401 PR debug/43160 6402 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs. 6403 (add_value_chain, add_value_chains, remove_value_chain, 6404 remove_value_chains): Handle DEBUG_EXPRs. 6405 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs. 6406 6407 PR debug/43161 6408 * regcprop.c (struct queued_debug_insn_change): New type. 6409 (struct value_data_entry): Add debug_insn_changes field. 6410 (struct value_data): Add n_debug_insn_changes field. 6411 (debug_insn_changes_pool): New variable. 6412 (free_debug_insn_changes, apply_debug_insn_changes, 6413 cprop_find_used_regs_1, cprop_find_used_regs): New functions. 6414 (kill_value_one_regno): Call free_debug_insn_changes if needed. 6415 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes 6416 fields. 6417 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue 6418 changes for them. 6419 (copyprop_hardreg_forward_1): Don't call apply_change_group for 6420 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN 6421 changes, call cprop_find_used_regs via note_stores. 6422 (copyprop_hardreg_forward): When copying vd from predecessor 6423 which has any queued DEBUG_INSN changes, make sure the pointers are 6424 cleared. At the end call df_analyze and then if there are any 6425 DEBUG_INSN changes queued at the end of some basic block for still 6426 live registers, apply them. 6427 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish. 6428 64292010-02-25 Uros Bizjak <ubizjak@gmail.com> 6430 6431 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line. 6432 (arm*-*-*): Ditto. 6433 64342010-02-25 H.J. Lu <hongjiu.lu@intel.com> 6435 6436 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-* 6437 targets. Set the default with_cpu/with_arch from arch/cpu. 6438 Allow x86-64 and native for with_cpu/with_arch. 6439 64402010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org> 6441 6442 * ebitmap.c: Change calls to verify_popcount with calls to 6443 sbitmap_verify_popcount. 6444 (ebitmap_clear_bit): Fixed map->cacheindex test and 6445 map>cache update when bit clearing results in an empty 6446 element. 6447 64482010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com> 6449 6450 PR target/43154 6451 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI. 6452 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df 6453 and support both V2DF and V2DI modes. 6454 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and 6455 support both V2DF and V2DI modes. 6456 (general): Delete trailing whitespace from a few patterns. 6457 6458 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add 6459 V2DF/V2DI interleave high/low builtins. 6460 6461 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add 6462 new VSX builtins. 6463 6464 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI 6465 interleave high/low functions. 6466 64672010-02-25 Gerald Pfeifer <gerald@pfeifer.com> 6468 6469 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of 6470 #pragma extern_prefix. 6471 64722010-02-25 Jakub Jelinek <jakub@redhat.com> 6473 6474 PR debug/43166 6475 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is 6476 BLKmode, assert op0 is a MEM and just adjust its mode. 6477 6478 PR debug/43165 6479 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg 6480 if bitpos isn't multiple of mode's bitsize. 6481 64822010-02-24 Manuel L��pez-Ib����ez <manu@gcc.gnu.org> 6483 6484 * c.opt (-ftemplate-depth=): New. 6485 (-ftemplate-depth-): Deprecate. 6486 * optc-gen.awk: Handle -ftemplate-depth=. 6487 * opth-gen.awk: Likewise. 6488 * c-opts.c (c_common_handle_option): Likewise. 6489 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=. 6490 64912010-02-24 Jason Merrill <jason@redhat.com> 6492 6493 * doc/invoke.texi: Improve -Wabi and -fabi-version docs. 6494 64952010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6496 6497 * cfg.c (alloc_aux_for_block): Remove inline. 6498 (alloc_aux_for_edge): Likewise. 6499 65002010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6501 6502 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion. 6503 65042010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6505 6506 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define. 6507 * config/i386/sol2-gas.h: New file. 6508 * config.gcc (i[34567]86-*-solaris2*): Use it. 6509 65102010-02-24 Manuel L��pez-Ib����ez <manu@gcc.gnu.org> 6511 6512 PR c/43128 6513 * c-typeck.c (ep_convert_and_check): New. 6514 (build_conditional_expr): Use it. 6515 (build_binary_op): Likewise. 6516 65172010-02-24 Jakub Jelinek <jakub@redhat.com> 6518 6519 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan. 6520 6521 PR debug/43150 6522 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA 6523 bounds even for -O+. 6524 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate 6525 expr needs to have DECL_NAME set. 6526 65272010-02-24 Nick Clifton <nickc@redhat.com> 6528 6529 * config/mep/mep.c: Include gimple.h. 6530 (mep_function_uses_sp): Delete unused function. 6531 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p 6532 parameters. Use unsigned integers to count args. Return a 6533 NULL_RTX instead of an error_mark_node. Toidy up formatting. 6534 65352010-02-23 Jakub Jelinek <jakub@redhat.com> 6536 6537 PR target/43107 6538 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes 6539 greater or equal to nelt instead of 2 * nelt. 6540 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes 6541 with nelt - 1. 6542 65432010-02-23 Jason Merrill <jason@redhat.com> 6544 6545 PR debug/42800 6546 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars 6547 in cfun->local_decls even if they have register types. 6548 6549 PR c++/42837 6550 * stor-layout.c (place_field): Don't warn about unnecessary 6551 DECL_PACKED if the type is packed. 6552 65532010-02-23 Jakub Jelinek <jakub@redhat.com> 6554 6555 PR target/43139 6556 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all 6557 GOTOFF relocs, even when the base reg isn't pic pointer. 6558 65592010-02-23 Michael Matz <matz@suse.de> 6560 6561 PR debug/43077 6562 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place. 6563 (expand_gimple_basic_block): Generate and use debug temps if there 6564 are debug uses left after the last real use of TERed ssa names. 6565 Unlink debug immediate uses when they are expanded. 6566 65672010-02-23 Manuel L��pez-Ib����ez <manu@gcc.gnu.org> 6568 6569 PR 43123 6570 * config/i386/i386.c (override_options): Reorganise to provide 6571 better error messages. 6572 65732010-02-22 Sebastian Pop <sebastian.pop@amd.com> 6574 6575 PR middle-end/43083 6576 * graphite-scop-detection.c (create_single_exit_edge): Move 6577 the call to find_single_exit_edge to.... 6578 (create_sese_edges): ...here. Don't handle multiple edges 6579 exiting the function. 6580 (build_graphite_scops): Don't handle multiple edges 6581 exiting the function. 6582 65832010-02-22 Sebastian Pop <sebastian.pop@amd.com> 6584 6585 PR middle-end/43097 6586 * sese.c (get_rename): Assert that old_name is an SSA_NAME. 6587 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME. 6588 65892010-02-22 Sebastian Pop <sebastian.pop@amd.com> 6590 6591 PR middle-end/43026 6592 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF. 6593 65942010-02-22 Manuel L��pez-Ib����ez <manu@gcc.gnu.org> 6595 6596 PR c++/43126 6597 * c-typeck.c (convert_arguments): Print declaration location. 6598 * c-common.c (validate_nargs): Rename as 6599 builtin_function_validate_nargs. 6600 (check_builtin_function_arguments): Update. 6601 66022010-02-22 Richard Guenther <rguenther@suse.de> 6603 6604 PR lto/43045 6605 * tree-inline.c (declare_return_variable): Use the type of 6606 the call stmt lhs if available. 6607 66082010-02-22 Duncan Sands <baldrick@free.fr> 6609 6610 * passes.c (register_pass): Always consider all pass lists when 6611 ref_pass_instance_number is zero. 6612 66132010-02-22 Richard Guenther <rguenther@suse.de> 6614 6615 PR tree-optimization/42749 6616 * tree-tailcall.c (adjust_return_value_with_ops): Drop update 6617 parameter. Do arithmetic in the original type. 6618 (update_accumulator_with_ops): Likewise. 6619 (adjust_accumulator_values): Adjust. 6620 66212010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 6622 6623 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative. 6624 (QI to BLKmode splitter): New splitter. 6625 66262010-02-22 H.J. Lu <hongjiu.lu@intel.com> 6627 6628 * config/i386/i386.c (initial_ix86_tune_features): Turn on 6629 X86_TUNE_INTER_UNIT_MOVES for m_ATOM. 6630 66312010-02-22 Richard Guenther <rguenther@suse.de> 6632 6633 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo. 6634 66352010-02-22 Hans-Peter Nilsson <hp@bitrange.com> 6636 6637 Migrate crti, crtn, crtbegin, crtend build rules to libgcc. 6638 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set. 6639 ($(T)crti.o, $(T)crtn.o): Remove rules. 6640 66412010-02-21 Tobias Burnus <burnus@net-b.de> 6642 6643 PR fortran/35259 6644 * doc/invoke.texi (-fassociative-math): Document that this 6645 option is automatically enabled for Fortran. 6646 66472010-02-20 David S. Miller <davem@davemloft.net> 6648 6649 * configure.ac: Test if linker and assembler properly support 6650 GOTDATA_OP relocations. 6651 * configure: Rebuild. 6652 * config.in: Likewise. 6653 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New. 6654 (movsi_lo_sum_pic): Use %gdop_*() relocs if available. 6655 (movsi_high_pic): Likewise. 6656 (movdi_lo_sum_pic): Likewise. 6657 (movdi_high_pic): Likewise. 6658 (movsi_pic_gotdata_op): New pattern. 6659 (movdi_pic_gotdata_op): Likewise. 6660 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2, 6661 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load. 6662 66632010-02-20 Uros Bizjak <ubizjak@gmail.com> 6664 6665 PR target/43067 6666 * config/i386/sse.md (xop_mulv2div2di3_low): Change type 6667 attribute to ssemul. 6668 (xop_mulv2div2di3_high): Ditto. 6669 66702010-02-20 Manuel L��pez-Ib����ez <manu@gcc.gnu.org> 6671 6672 PR c++/35669 6673 * c.opt (Wconversion-null): New option. 6674 * doc/invoke.texi (Wconversion-null): Document. 6675 66762010-02-20 Manuel L��pez-Ib����ez <manu@gcc.gnu.org> 6677 6678 * common.opt (Wlarger-than-): Add Undocumented. 6679 66802010-02-19 Mike Stump <mikestump@comcast.net> 6681 6682 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it. 6683 66842010-02-19 Jason Merrill <jason@redhat.com> 6685 6686 PR target/40332 6687 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance. 6688 * configure: Likewise. 6689 66902010-02-20 Alan Modra <amodra@gmail.com> 6691 6692 PR middle-end/42344 6693 * cgraph.h (cgraph_make_decl_local): Declare. 6694 * cgraph.c (cgraph_make_decl_local): New function. 6695 (cgraph_make_node_local): Use it. 6696 * cgraphunit.c (cgraph_function_versioning): Likewise. 6697 * ipa.c (function_and_variable_visibility): Likewise. 6698 66992010-02-19 Jakub Jelinek <jakub@redhat.com> 6700 6701 PR bootstrap/43121 6702 * except.c (sjlj_emit_function_enter): Don't call 6703 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn 6704 directly. 6705 * rtl.h (add_reg_br_prob_note): Remove prototype. 6706 67072010-02-19 Manuel L��pez-Ib����ez <manu@gcc.gnu.org> 6708 6709 PR 41779 6710 * c-common.c (conversion_warning): Remove widening conversions 6711 before checking the conversion of integers to reals. 6712 67132010-02-19 Mike Stump <mikestump@comcast.net> 6714 6715 PR middle-end/43125 6716 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P. 6717 6718 PR objc/43061 6719 * cgraphunit.c (process_function_and_variable_attributes): Check 6720 DECL_PRESERVE_P instead of looking up attribute "used". 6721 * ipa-pure-const.c (check_decl): Likewise. 6722 * ipa-reference.c (has_proper_scope_for_analysis): Likewise. 6723 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise. 6724 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P 6725 instead of attribute "used". 6726 * config/sol2-c.c (solaris_pragma_init): Likewise. 6727 (solaris_pragma_fini): Likewise. 6728 67292010-02-19 Jakub Jelinek <jakub@redhat.com> 6730 6731 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field): 6732 Use XCNEW instead of xcalloc. 6733 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use 6734 XNEW instead of xmalloc. 6735 (get_fields): Use XNEWVEC instead of xmalloc. 6736 6737 PR debug/43084 6738 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't 6739 populate vars array. 6740 (create_new_general_access): For debug stmts just reset value. 6741 (get_stmt_accesses): For accesses within debug stmts just record them 6742 using add_access_to_acc_sites instead of preventing the peeling or 6743 counting them as accesses. 6744 6745 PR middle-end/42233 6746 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority. 6747 67482010-02-19 Richard Guenther <rguenther@suse.de> 6749 6750 PR tree-optimization/42916 6751 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real 6752 instructions. 6753 67542010-02-19 Andreas Schwab <schwab@linux-m68k.org> 6755 6756 * configure.ac: Replace all uses of changequote in macro arguments 6757 with proper quoting. 6758 67592010-02-19 Jakub Jelinek <jakub@redhat.com> 6760 6761 PR middle-end/42233 6762 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller. 6763 67642010-02-19 Richard Guenther <rguenther@suse.de> 6765 6766 PR tree-optimization/42944 6767 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage 6768 test for aliasing with errno. 6769 67702010-02-19 Jakub Jelinek <jakub@redhat.com> 6771 6772 PR middle-end/42233 6773 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump, 6774 do_jump_1, do_compare_rtx_and_jump): Add PROB argument. 6775 * dojump.c: Include output.h. 6776 (inv): New inline function. 6777 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump, 6778 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater, 6779 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx, 6780 do_jump_by_parts_equality, do_compare_and_jump): Add PROB 6781 argument, pass it down to other calls. 6782 (do_compare_rtx_and_jump): Likewise. If PROB is not -1, 6783 add REG_BR_PROB note to the conditional jump. 6784 * cfgexpand.c (add_reg_br_prob_note): Removed. 6785 (expand_gimple_cond): Don't call it, add the probability 6786 as last argument to jumpif_1/jumpifnot_1. 6787 * Makefile.in (dojump.o): Depend on output.h. 6788 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump 6789 callers. 6790 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise. 6791 * stmt.c (do_jump_if_equal): Likewise. 6792 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise. 6793 * loop-unswitch.c (compare_and_jump_seq): Likewise. 6794 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): 6795 Likewise. 6796 * optabs.c (expand_doubleword_shift, expand_abs): Likewise. 6797 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and 6798 jumpifnot_1 callers. 6799 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump 6800 callers. 6801 (store_expr): Adjust jumpifnot caller. 6802 (store_constructor): Adjust jumpif caller. 6803 6804 PR middle-end/42233 6805 * gimplify.c (gimple_boolify): For __builtin_expect call 6806 gimple_boolify also on its first argument. 6807 68082010-02-18 Uros Bizjak <ubizjak@gmail.com> 6809 6810 * configure.ac (gnu-unique-object): Wrap regexps using [] in 6811 changequote block. 6812 (__stack_chk_fail): Ditto. Remove quadrigraphs. 6813 * configure: Regenerated. 6814 68152010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 6816 6817 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call 6818 lang_hooks.types_compatible_p instead of comptypes. 6819 68202010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de> 6821 6822 * config/arm/lib1funcs.asm (__prefer_thumb__): New define. 6823 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant 6824 if __prefer_thumb__ is defined. 6825 68262010-02-18 Martin Jambor <mjambor@suse.cz> 6827 6828 PR tree-optimization/43066 6829 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an 6830 array with zero-sized element type. 6831 68322010-02-18 Jakub Jelinek <jakub@redhat.com> 6833 6834 * dwarf2out.c (add_var_loc_to_decl): Change last argument to 6835 rtx, allocate struct var_loc_node here and return it to the 6836 caller, and only if it is actually needed. 6837 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller, 6838 move it earlier and return immediately if it returns NULL. 6839 68402010-02-17 Mikael Pettersson <mikpe@it.uu.se> 6841 6842 * config/sparc/gas.h: New file. Restore 6843 TARGET_ASM_NAMED_SECTION to its ELF default. 6844 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not 6845 check !HAVE_GNU_AS. 6846 * config/sparc/sparc.c (sparc_elf_asm_named_section): 6847 Likewise. Add ATTRIBUTE_UNUSED to prototype. 6848 * config.gcc (sparc*-*-linux*): Include sparc/gas.h 6849 after sparc/sysv4.h. 6850 68512010-02-17 Dave Korn <dave.korn.cygwin@gmail.com> 6852 6853 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name. 6854 68552010-02-17 Steven Bosscher <steven@gcc.gnu.org> 6856 6857 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC 6858 patterns from predicated pattern. 6859 68602010-02-17 Uros Bizjak <ubizjak@gmail.com> 6861 6862 PR target/43103 6863 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c 6864 for insn mnemonic suffix. 6865 68662010-02-17 Richard Guenther <rguenther@suse.de> 6867 6868 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis 6869 to loop PHI nodes. 6870 68712010-02-17 Jakub Jelinek <jakub@redhat.com> 6872 6873 PR debug/42918 6874 * caller-save.c (save_call_clobbered_regs): If BB ends with 6875 a DEBUG_INSN, move any notes in between last real insn and the last 6876 DEBUG_INSN after the last DEBUG_INSN. 6877 68782010-02-16 Joern Rennecke <joern.rennecke@embecosm.com> 6879 6880 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): 6881 Fix return type. Fix argument type. Explain meaning of return value. 6882 68832010-02-16 Richard Guenther <rguenther@suse.de> 6884 6885 PR tree-optimization/41043 6886 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops. 6887 (vrp_visit_assignment_or_call): Do not ask SCEV for regular 6888 statements ... 6889 (vrp_visit_phi_node): ... but only for loop PHI nodes. 6890 68912010-02-16 Ira Rosen <irar@il.ibm.com> 6892 6893 PR tree-optimization/43074 6894 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New. 6895 * tree-vect-loop.c (vect_analyze_loop_operations): Add 6896 vectorizable cycles in hybrid SLP check. 6897 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise. 6898 68992010-02-16 Richard Guenther <rguenther@suse.de> 6900 6901 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know. 6902 (true_dependence): If memrefs_conflict_p computes must-alias 6903 trust it. Move TBAA check after offset-based disambiguation. 6904 (canon_true_dependence): Likewise. 6905 69062010-02-16 Alexandre Oliva <aoliva@redhat.com> 6907 6908 * params.def (PARAM_MAX_VARTRACK_SIZE): New. 6909 * doc/invoke.texi: Document it. 6910 * var-tracking.c: Include toplev.h and params.h. 6911 (vt_find_locations): Return bool indicating success. Compute 6912 hash sizes unconditionally. Check new parameter, report. 6913 (variable_tracking_main_1): Check vt_find_locations results and 6914 retry. Renamed from... 6915 (variable_tracking_main): ... this. New wrapper to preserve 6916 flag_var_tracking_assignments. 6917 * Makefile.in (var-tracking.o): Adjust dependencies. 6918 69192010-02-16 Jack Howarth <howarth@bromo.med.uc.edu> 6920 Jakub Jelinek <jakub@redhat.com> 6921 6922 PR target/42854 6923 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute 6924 if weak_import attribute is present. 6925 * config/darwin.c (machopic_select_section): Likewise. 6926 69272010-02-15 Joern Rennecke <joern.rennecke@embecosm.com> 6928 6929 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document. 6930 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise. 6931 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise. 6932 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise. 6933 6934 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types. 6935 6936 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): 6937 Fix argument types. 6938 6939 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names. 6940 Rewrite text to refer to the names. 6941 69422010-02-15 Sebastian Pop <sebastian.pop@amd.com> 6943 6944 * config/i386/i386-builtin-types.def 6945 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared. 6946 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared. 6947 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared. 6948 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared. 6949 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD, 6950 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and 6951 IX86_BUILTIN_VPERMIL2PS256. 6952 (MULTI_ARG_4_DF2_DI_I): Defined. 6953 (MULTI_ARG_4_DF2_DI_I1): Defined. 6954 (MULTI_ARG_4_SF2_SI_I): Defined. 6955 (MULTI_ARG_4_SF2_SI_I1): Defined. 6956 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd, 6957 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and 6958 __builtin_ia32_vpermil2ps256. 6959 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I, 6960 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and 6961 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments. 6962 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I, 6963 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and 6964 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3, 6965 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and 6966 CODE_FOR_xop_vpermil2v8sf3. 6967 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared. 6968 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern. 6969 * config/i386/xopintrin.h (_mm_permute2_pd): New. 6970 (_mm256_permute2_pd): New. 6971 (_mm_permute2_ps): New. 6972 (_mm256_permute2_ps): New. 6973 69742010-02-15 Nick Clifton <nickc@redhat.com> 6975 6976 * config/h8300/h8300.c: (h8300_push_pop): Use bool type for 6977 boolean parameters. Use emit_jump_insn when emitting a pop 6978 instruction containing a return insn. 6979 (push): Use 'true' rather than '1' as second parameter to F. 6980 (h8300_expand_prologue): Likewise. 6981 Use 'true' and 'false' for boolean parameters to h8300_push_pop. 6982 (h8300_expand_epilogue): Likewise. 6983 69842010-02-15 Richard Guenther <rguenther@suse.de> 6985 6986 PR middle-end/43068 6987 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset 6988 if that is zero. 6989 69902010-02-15 Nick Clifton <nickc@redhat.com> 6991 6992 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous 6993 delta. 6994 69952010-02-14 Marco Poletti <poletti.marco@gmail.com> 6996 6997 * intl.c (fake_ngettext): New function. 6998 * intl.h (fake_ngettext): Declare. 6999 (ngettext): Define macro. 7000 * collect2.c (notice_translated): New function. 7001 (main): Use notice_translated and ngettext. 7002 * collect2.h (notice_translated): Declare. 7003 70042010-02-14 Steven Bosscher <steven@gcc.gnu.org> 7005 7006 * reorg.c (delete_computation): Comment fixes. 7007 * caller-save.c (setup_save_areas): Idem. 7008 * sel-sched-dump.c (dump_lv_set): Idem. 7009 * rtl.def: Idem. 7010 70112010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 7012 7013 * config/s390/s390.c (s390_sched_init): New function. 7014 (TARGET_SCHED_INIT): Target hook defined. 7015 70162010-02-12 Dave Korn <dave.korn.cygwin@gmail.com> 7017 Jack Howarth <howarth@bromo.med.uc.edu> 7018 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 7019 7020 PR target/42982 7021 Partial revert of unintended change in fix for PR41605. 7022 * config/darwin.h: Fix typo. 7023 * config/darwin9.h: Same. 7024 70252010-02-11 Jakub Jelinek <jakub@redhat.com> 7026 7027 * c-pch.c (pch_init): Clear v. 7028 70292010-02-11 Sebastian Pop <sebastian.pop@amd.com> 7030 7031 PR middle-end/42930 7032 * graphite-scop-detection.c (graphite_can_represent_scev): Call 7033 graphite_can_represent_init for MULT_EXPR. 7034 70352010-02-11 Sebastian Pop <sebastian.pop@amd.com> 7036 7037 PR middle-end/42914 7038 PR middle-end/42530 7039 * graphite-sese-to-poly.c (remove_phi): New. 7040 (translate_scalar_reduction_to_array): Call remove_phi. 7041 70422010-02-11 Sebastian Pop <sebastian.pop@amd.com> 7043 7044 PR middle-end/42771 7045 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters. 7046 * graphite-clast-to-gimple.h (gloog): Update declaration. 7047 * graphite-poly.c (new_scop): Clear POLY_SCOP_P. 7048 * graphite-poly.h (struct poly_bb): Add missing comments. 7049 (struct scop): Add poly_scop_p field. 7050 (POLY_SCOP_P): New. 7051 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P. 7052 * graphite.c (graphite_transform_loops): Build the polyhedral 7053 representation for each scop before code generation. 7054 * sese.c (rename_variables_in_operand): Removed. 7055 (rename_variables_in_expr): Return the renamed expression. 7056 (rename_sese_parameters): New. 7057 * sese.h (rename_sese_parameters): Declared. 7058 70592010-02-11 Richard Guenther <rguenther@suse.de> 7060 7061 PR tree-optimization/42998 7062 * tree-ssa-pre.c (create_expression_by_pieces): Treat 7063 POINTER_PLUS_EXPR properly. 7064 70652010-02-11 Sebastian Pop <sebastian.pop@amd.com> 7066 Changpeng Fang <changpeng.fang@amd.com> 7067 7068 PR middle-end/40886 7069 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement 7070 the cost of an IV candidate when the IV is used in a test against zero. 7071 7072 * gcc.dg/tree-ssa/ivopts-3.c: New. 7073 70742010-02-11 Richard Guenther <rguenther@suse.de> 7075 7076 PR lto/41664 7077 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize 7078 pointer-vs-decl case by swapping refs. Handle some cases 7079 of pointer-vs-decl disambiguations more conservatively. 7080 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p 7081 to false after expanding. 7082 70832010-02-11 Richard Guenther <rguenther@suse.de> 7084 7085 PR driver/43021 7086 * gcc.c (process_command): Handle LTO file@offset case more 7087 appropriately. 7088 70892010-02-11 Jakub Jelinek <jakub@redhat.com> 7090 7091 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any 7092 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside 7093 of DEBUG_INSNs. 7094 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs. 7095 7096 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size 7097 if MEM's mode size isn't DWARF2_ADDR_SIZE. 7098 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments. 7099 Optimize eq/ne comparisons when both arguments are known to be 7100 zero-extended. 7101 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments. 7102 Don't mask operands unnecessarily if they are known to be already 7103 zero-extended. 7104 71052010-02-10 Vladimir Makarov <vmakarov@redhat.com> 7106 7107 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note 7108 instead of loop. 7109 71102010-02-10 Richard Guenther <rguenther@suse.de> 7111 7112 PR tree-optimization/43017 7113 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop 7114 for wrapping signed arithmetic. 7115 71162010-02-10 Jakub Jelinek <jakub@redhat.com> 7117 7118 PR debug/43010 7119 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die 7120 if no debug info should be emitted for it. 7121 71222010-02-10 Kaz Kojima <kkojima@gcc.gnu.org> 7123 7124 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION 7125 note when flag_exceptions is set. 7126 71272010-02-10 Duncan Sands <baldrick@free.fr> 7128 7129 * Makefile.in (PLUGIN_HEADERS): Add debug.h. 7130 71312010-02-10 Richard Guenther <rguenther@suse.de> 7132 7133 PR c/43007 7134 * tree.c (get_unwidened): Handle constants. 7135 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR. 7136 71372010-02-10 Martin Jambor <mjambor@suse.cz> 7138 7139 PR lto/42985 7140 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and 7141 check for variable argument counts independently. 7142 71432010-02-10 Christian Bruel <christian.bruel@st.com> 7144 7145 PR target/42841 7146 * config/sh/sh.c (find_barrier): Increase length for non delayed 7147 conditional branches. 7148 71492010-02-10 Christian Bruel <christian.bruel@st.com> 7150 7151 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting. 7152 71532010-02-10 Jakub Jelinek <jakub@redhat.com> 7154 7155 * builtins.c (set_builtin_user_assembler_name): Also handle 7156 ffs if int is smaller than word. 7157 71582010-02-09 Vladimir Makarov <vmakarov@redhat.com> 7159 7160 PR middle-end/42973 7161 * ira-conflicts.c (get_dup): Remove. 7162 (process_reg_shuffles): Add new parameter. Use it as an 7163 additional guard for copy generation. 7164 (add_insn_allocno_copies): Rewrite. 7165 71662010-02-09 Alexander Monakov <amonakov@ispras.ru> 7167 7168 * common.opt (fsched2-use-traces): Preserved for backward 7169 compatibility. 7170 * doc/invoke.texi: Remove the documentation about option 7171 -fsched2-use-traces. 7172 * sched-rgn.c (rest_of_handle_sched2): Remove usage of 7173 flag_sched2_use_traces. 7174 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to 7175 the backward compatibility flag section. 7176 71772010-02-09 Richard Guenther <rguenther@suse.de> 7178 7179 PR tree-optimization/43008 7180 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl, 7181 make HEAP variables initialized from global memory if they 7182 are not known builtin functions. 7183 (find_func_aliases): Adjust. 7184 71852010-02-09 Richard Guenther <rguenther@suse.de> 7186 7187 PR tree-optimization/43000 7188 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned 7189 arithmetic manually. 7190 71912010-02-08 Jakub Jelinek <jakub@redhat.com> 7192 7193 PR tree-optimization/42931 7194 * tree-loop-linear.c (try_interchange_loops): Don't call 7195 double_int_mul if estimated_loop_iterations failed. 7196 71972010-02-08 Martin Jambor <mjambor@suse.cz> 7198 7199 PR middle-end/42898 7200 * tree-sra.c (build_accesses_from_assign): Do not mark in 7201 should_scalarize_away_bitmap if stmt has volatile ops. 7202 (sra_modify_assign): Do not process assigns piecemeal if if stmt 7203 has volatile ops. 7204 72052010-02-08 Joern Rennecke <joern.rennecke@embecosm.com> 7206 7207 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document. 7208 72092010-02-07 Adam Nemet <adambnmet@gmail.com> 7210 7211 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment 7212 before the pattern. 7213 72142010-02-07 Andrew Pinski <pinskia@gmail.com> 7215 7216 PR middle-end/42946 7217 * df-core.c (df_finish_pass): Change type of saved_flags to int. 7218 72192010-02-07 Sebastian Pop <sebastian.pop@amd.com> 7220 7221 PR middle-end/42988 7222 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND 7223 to unknown_dependence. 7224 (graphite_legal_transform_dr): Handle the unknown_dependence. 7225 (graphite_carried_dependence_level_k): Same. 7226 72272010-02-07 Sebastian Pop <sebastian.pop@amd.com> 7228 7229 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/. 7230 72312010-02-07 Richard Guenther <rguenther@suse.de> 7232 7233 PR middle-end/42991 7234 * expr.c (get_inner_reference): Always initialize *pbitsize. 7235 72362010-02-07 Richard Guenther <rguenther@suse.de> 7237 7238 PR middle-end/42956 7239 * gimplify.c (gimple_fold_indirect_ref): Avoid generating 7240 new ARRAY_REFs on variable size element or minimal index arrays. 7241 Complete. 7242 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use 7243 gimple_fold_indirect_ref. 7244 72452010-02-06 Richard Earnshaw <rearnsha@arm.com> 7246 7247 PR target/42957 7248 * arm.c (arm_override_options): Just return if the user has specified 7249 an invalid fpu name. 7250 72512010-02-03 Jason Merrill <jason@redhat.com> 7252 7253 PR c++/42870 7254 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call 7255 i386_pe_maybe_record_exported_symbol. 7256 72572010-02-05 Steve Ellcey <sje@cup.hp.com> 7258 7259 PR target/42924 7260 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine. 7261 (pa_delegitimize_address): New function. 7262 72632010-02-05 Ozkan Sezer <sezeroz@gmail.com> 7264 7265 * config/i386/msformat-c.c (ms_printf_length_specs): Set the 7266 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs. 7267 72682010-02-05 Richard Guenther <rguenther@suse.de> 7269 7270 PR lto/42762 7271 * lto-streamer-in.c (get_resolution): Deal with references 7272 to undefined functions. 7273 72742010-02-05 Richard Guenther <rguenther@suse.de> 7275 7276 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions. 7277 (fold_const_aggregate_ref): Likewise. 7278 (ccp_fold_stmt): Substitute loads. 7279 (maybe_fold_reference): Verify types before substituting. 7280 Unshare properly. 7281 (fold_gimple_assign): Unshare properly. 7282 (fold_stmt_1): Insert conversion if necessary before replacing the RHS. 7283 72842010-02-05 Nathan Froyd <froydnj@codesourcery.com> 7285 7286 * config/rs6000/rs6000.c (rs6000_override_options): Invert check 7287 for rs6000_gen_cell_microcode. 7288 72892010-02-04 Richard Guenther <rguenther@suse.de> 7290 7291 PR rtl-optimization/42952 7292 * dse.c (const_or_frame_p): Remove MEM handling. 7293 72942010-02-04 Nick Clifton <nickc@redhat.com> 7295 7296 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define. 7297 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. 7298 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM. 7299 (mn10300_asm_output_mi_thunk): New function. 7300 (mn10300_can_output_mu_thunk): New function. 7301 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define. 7302 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1. 7303 (FUNCTION_ARG): Delete incorrect comment. 7304 73052010-02-03 Jason Merrill <jason@redhat.com> 7306 7307 PR c++/40138 7308 * fold-const.c (operand_equal_p): Handle erroneous types. 7309 73102010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com> 7311 7312 * config/h8300/h8300.md (can_delay): Fix attibute condition. 7313 73142010-02-03 Vladimir Makarov <vmakarov@redhat.com> 7315 7316 PR rtl-optimization/42941 7317 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead 7318 of xmalloc. 7319 73202010-02-03 Jason Merrill <jason@redhat.com> 7321 7322 PR c++/35652 7323 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics. 7324 73252010-02-03 Alexandre Oliva <aoliva@redhat.com> 7326 7327 PR debug/42896 7328 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash. 7329 (cselib_reset_table): Renamed from... 7330 (cselib_reset_table_with_next_value): ... this. 7331 (cselib_get_next_uid): Renamed from... 7332 (cselib_get_next_unknown_value): ... this. 7333 * cselib.c (next_uid): Renamed from... 7334 (next_unknown_value): ... this. 7335 (cselib_clear_table): Adjust. 7336 (cselib_reset_table): Adjust. Renamed from... 7337 (cselib_reset_table_with_next_value): ... this. 7338 (cselib_get_next_uid): Adjust. Renamed from... 7339 (cselib_get_next_unknown_value): ... this. 7340 (get_value_hash): Use hash. 7341 (cselib_hash_rtx): Likewise. 7342 (new_cselib_val): Adjust. Set and dump uid. 7343 (cselib_lookup_mem): Pass next_uid as hash. 7344 (cselib_subst_to_values): Likewise. 7345 (cselib_log_lookup): Dump uid. 7346 (cselib_lookup): Pass next_uid as hash. Adjust. 7347 (cselib_process_insn): Adjust. 7348 (cselib_init): Initialize next_uid. 7349 (cselib_finish): Adjust. 7350 (dump_cselib_table): Likewise. 7351 * dse.c (canon_address): Dump value uid. 7352 * print-rtl.c (print_rtx): Print value uid. 7353 * var-tracking.c (VARIABLE_HASH_VAL): Dropped. 7354 (dvuid): New type. 7355 (dv_uid): New function, sort of renamed from... 7356 (dv_htab_hash): ... this, reimplemented in terms of it and... 7357 (dv_uid2hash): ... this. New. 7358 (variable_htab_eq): Drop excess assertions. 7359 (tie_break_pointers): Removed. 7360 (canon_value_cmp): Compare uids. 7361 (variable_post_merge_New_vals): Print uids. 7362 (vt_add_function_parameters): Adjust. 7363 (vt_initialize): Reset table. Adjust. 7364 73652010-02-03 Richard Guenther <rguenther@suse.de> 7366 7367 PR tree-optimization/42944 7368 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc. 7369 (call_may_clobber_ref_p_1): Likewise. Properly handle 7370 malloc and calloc clobbering errno. 7371 73722010-02-03 Steven Bosscher <steven@gcc.gnu.org> 7373 7374 * doc/invoke.texi: Fix name of sched1 dump. 7375 7376 * opts.c (decode_options): Set flag_tree_switch_conversion 7377 only conditionally on optimize >= 2. 7378 7379 * gcse.c: Assorted comment fixes in pass description. 7380 73812010-02-03 Anthony Green <green@moxielogic.com> 7382 7383 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce 7384 nop padding in order to maintain alignment of storage location of 7385 target function address. 7386 (moxie_trampoline_init): Store target function address at newly 7387 aligned location. 7388 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment 7389 to 32. 7390 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding. 7391 73922010-02-03 Richard Guenther <rguenther@suse.de> 7393 7394 PR middle-end/42927 7395 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification. 7396 73972010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7398 7399 * config.gcc: Reenable check for obsolete targets. 7400 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*, 7401 mips-sgi-irix6.[0-4]*. 7402 74032010-02-02 Nick Clifton <nickc@redhat.com> 7404 7405 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum 7406 constant size of 4 as being the same as 0. 7407 * doc/invoke.texi (RX Options): Document that -mmax-constant-size 7408 can take values in the range 0..4. 7409 74102010-02-02 Jack Howarth <howarth@bromo.med.uc.edu> 7411 7412 PR java/41991 7413 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction() 7414 as _darwin10_Unwind_FindEnclosingFunction(). 7415 * libgcc-libsystem.ver: New. 7416 74172010-02-01 Vladimir Makarov <vmakarov@redhat.com> 7418 7419 PR target/41399 7420 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for 7421 implicitly set registers. 7422 74232010-02-01 Richard Earnshaw <rearnsha@arm.com> 7424 7425 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K. 7426 (arm_override_options): Allow automatic selection of the thread 7427 pointer register if thumb2. 7428 (legitimize_pic_address): Improve code sequences for Thumb2. 7429 (arm_call_tls_get_addr): Likewise. 7430 (legitimize_tls_address): Likewise. 7431 * arm.md (pic_load_addr_arm): Delete. Replace with ... 7432 (pic_load_addr_32bit): ... this. New named pattern. 7433 * thumb2.md (pic_load_addr_thumb2): Delete. 7434 (pic_load_dot_plus_four): Delete. 7435 (tls_load_dot_plus_four): New named pattern. 7436 74372010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7438 7439 PR libgomp/29986 7440 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry. 7441 Document fix for TLS bug. 7442 74432010-01-31 Richard Guenther <rguenther@suse.de> 7444 7445 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be 7446 conservatively correct. 7447 74482010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 7449 7450 PR target/42850 7451 Revert: 7452 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 7453 7454 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two. 7455 74562010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7457 7458 * doc/install.texi: Update recommended GMP/MPFR/MPC versions. 7459 74602010-01-31 Kai Tietz <kai.tietz@onevision.com> 7461 7462 * config.gcc: Adjust order of makefile fragments for mingw targets. 7463 74642010-01-31 Richard Guenther <rguenther@suse.de> 7465 7466 PR middle-end/42898 7467 * gimplify.c (gimplify_init_constructor): For volatile LHS 7468 initialize a temporary. 7469 74702010-01-31 Matthias Klose <doko@ubuntu.com> 7471 7472 * configure.ac: Fix __stack_chk_fail check for cross builds configured 7473 --with-headers 7474 * configure: Regenerate. 7475 74762010-01-29 Eric Botcazou <ebotcazou@adacore.com> 7477 7478 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have 7479 the same alias set and their sizes different constantness. 7480 (aliasing_component_refs_p): Revert 2009-10-24 change. 7481 74822010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7483 7484 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl 7485 unused. 7486 74872010-01-29 Richard Guenther <rguenther@suse.de> 7488 7489 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute. 7490 Assert we successfully updated the call. 7491 74922010-01-29 Jakub Jelinek <jakub@redhat.com> 7493 7494 PR rtl-optimization/42889 7495 * df.h (df_set_bb_dirty_nonlr): New prototype. 7496 * df-core.c (df_set_bb_dirty_nonlr): New function. 7497 * df-scan.c (df_insn_rescan): Call it instead of 7498 df_set_bb_dirty for DEBUG_INSNs. 7499 75002010-01-29 Richard Guenther <rguenther@suse.de> 7501 7502 PR middle-end/37448 7503 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid 7504 quadratic behavior in most cases. 7505 75062010-01-28 Uros Bizjak <ubizjak@gmail.com> 7507 7508 PR target/42891 7509 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode 7510 in the call to gen_x86_movsicc_0_m1. 7511 75122010-01-28 Richard Guenther <rguenther@suse.de> 7513 7514 PR tree-optimization/42871 7515 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders. 7516 75172010-01-28 Richard Guenther <rguenther@suse.de> 7518 7519 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate 7520 into call arguments. 7521 75222010-01-28 Richard Guenther <rguenther@suse.de> 7523 7524 PR middle-end/42883 7525 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove 7526 the forwarder if the destination is an EH landing pad. 7527 75282010-01-28 Razya Ladelsky <razya@il.ibm.com> 7529 7530 * tree-parloops.c (transform_to_exit_first_loop): Update the basic 7531 block list passed to gimple_duplicate_sese_tail. 7532 (parallelize_loops): Avoid parallelization when the function 7533 has_nonlocal_label. 7534 Avoid parallelization when the preheader is IRREDUCIBLE. 7535 Try to optimize when estimated_loop_iterations_int is unresolved. 7536 Add the loop's location to the dump file. 7537 * tree-cfg.c (add_phi_args_after_redirect): Remove. 7538 (gimple_duplicate_sese_tail): Remove the check for the latch. 7539 Redirect nexits to the exit block. 7540 Remove handling of the incoming edges to the latch. 7541 Redirect the backedge from the copied latch to the exit bb. 7542 75432010-01-28 Michael Matz <matz@suse.de> 7544 7545 PR target/42881 7546 * config/i386/i386.c (ix86_expand_vector_init_duplicate): 7547 Wrap force_reg into a sequence, emit it before user. 7548 75492010-01-28 Stephen Thomas <stephen.thomas@arm.com> 7550 7551 * config/arm/arm.md (bswapsi2): Add support for bswapsi2. 7552 (arm_rev): New. 7553 (arm_legacy_rev): Likewise. 7554 (thumb_legacy_rev): Likewise. 7555 75562010-01-27 Jakub Jelinek <jakub@redhat.com> 7557 7558 * dwarf2out.c (mem_loc_descriptor): Remove special casing of 7559 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call 7560 on MEM's address failed, try avoid_constant_pool_reference and 7561 recurse if it returned something different. 7562 (loc_descriptor): If for MEM mem_loc_descriptor failed on the 7563 address, try avoid_constant_pool_reference and recurse if it 7564 returned something different. 7565 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the 7566 address and avoid_constant_pool_reference returned something 7567 different, don't set have_address. 7568 75692010-01-27 Alexandre Oliva <aoliva@redhat.com> 7570 7571 PR debug/42861 7572 * var-tracking.c (val_store): Add modified argument, obey it. 7573 Adjust callers. 7574 (count_uses): Move down logging of main. 7575 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that 7576 don't need resolution. 7577 (emit_notes_in_bb): Likewise. 7578 75792010-01-27 Richard Guenther <rguenther@suse.de> 7580 7581 PR middle-end/42878 7582 * tree-inline.c (remap_decl): Delay remapping of SSA name 7583 default definitions until we need them. 7584 75852010-01-27 Jakub Jelinek <jakub@redhat.com> 7586 7587 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine. 7588 (rs6000_delegitimize_address): New function. 7589 7590 * config/s390/s390.c (s390_delegitimize_address): Call 7591 delegitimize_mem_from_attrs. 7592 7593 PR middle-end/42874 7594 * tree-inline.c (cannot_copy_type_1): Removed. 7595 (copy_forbidden): Don't forbid copying of functions containing 7596 records/unions with variable length fields. 7597 75982010-01-27 Christian Bruel <christian.bruel@st.com> 7599 7600 Revert: 7601 PR target/42841 7602 * config/sh/sh.c (find_barrier): Increase length for non delayed 7603 conditional branches. 7604 76052010-01-27 Matthias Klose <doko@ubuntu.com> 7606 7607 * configure.ac (gnu-unique-object): Fix ldd version check. 7608 * configure: Regenerate. 7609 76102010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7611 7612 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for 7613 HAVE_GNU_AS value. 7614 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION): 7615 Test for HAVE_GNU_AS value. 7616 76172010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7618 7619 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint. 7620 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE, 7621 INT64_TYPE): Define. 7622 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define. 7623 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE, 7624 INT_LEAST64_TYPE): Define. 7625 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE, 7626 UINT_LEAST64_TYPE): Define. 7627 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE) 7628 INT_FAST64_TYPE): Define. 7629 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE, 7630 UINT_FAST64_TYPE): Define. 7631 (INTMAX_TYPE, UINTMAX_TYPE): Define. 7632 (INTPTR_TYPE, UINTPTR_TYPE): Define. 7633 (SIG_ATOMIC_TYPE): Define. 7634 76352010-01-26 Richard Guenther <rguenther@suse.de> 7636 7637 * df-scan.c (df_scan_set_bb_info): Remove assert. 7638 (df_insn_rescan_debug_internal): Merge asserts. 7639 (df_install_ref): Likewise. 7640 (df_mark_reg): Use bitmap_set_range. 7641 (df_hard_reg_used_p): Remove assert. 7642 (df_hard_reg_used_count): Likewise. 7643 76442010-01-26 Richard Guenther <rguenther@suse.de> 7645 7646 PR rtl-optimization/42685 7647 * web.c (web_main): Ignore DEBUG_INSNs. 7648 76492010-01-26 Joern Rennecke <amylaar@spamcop.net> 7650 7651 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments. 7652 7653 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter. 7654 Fix types of fndecl and arglist parameters. 7655 76562010-01-26 Richard Guenther <rguenther@suse.de> 7657 7658 PR middle-end/42806 7659 * tree-eh.c (unsplit_eh): Skip debug insns. 7660 76612010-01-26 Richard Guenther <rguenther@suse.de> 7662 7663 PR tree-optimization/42250 7664 * ipa-type-escape.c (type_escape_execute): Do not analyze clones. 7665 76662010-01-26 Jakub Jelinek <jakub@redhat.com> 7667 7668 PR fortran/42866 7669 * omp-low.c (expand_omp_sections): Only use single_pred if 7670 l2_bb is single_pred_p. 7671 76722010-01-25 Christian Bruel <christian.bruel@st.com> 7673 7674 PR target/42841 7675 * config/sh/sh.c (find_barrier): Increase length for non delayed 7676 conditional branches. 7677 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P. 7678 76792010-01-24 David S. Miller <davem@davemloft.net> 7680 7681 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only 7682 define if not using GAS. 7683 * config/sparc/sparc.c (sparc_elf_asm_named_section): 7684 Likewise. Delete SECTION_MERGE code, which is only applicable 7685 when using GAS. 7686 76872010-01-24 Mark Mitchell <mark@codesourcery.com> 7688 7689 PR c++/42748 7690 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to 7691 mangling of va_list in system headers. 7692 76932010-01-23 Toon Moene <toon@moene.org> 7694 7695 * tree-predcom.c (combine_chains): Return NULL, not false. 7696 76972010-01-23 Joern Rennecke <amylaar@spamcop.net> 7698 7699 * tree-loop-distribution.c (distribute_loop): Fix declaration and 7700 initialization of variable res to agree with return type. 7701 77022010-01-22 Steve Ellcey <sje@cup.hp.com> 7703 7704 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency. 7705 * tree-sra.c: Add include of expr.h. 7706 77072010-01-22 Jakub Jelinek <jakub@redhat.com> 7708 7709 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb, 7710 insert the debug stmt on the single non-EH edge from the stmt. 7711 77122010-01-22 Richard Henderson <rth@redhat.com> 7713 7714 PR tree-opt/42833 7715 * tree-sra.c (sra_modify_assign): Delay re-gimplification of 7716 the RHS until after generate_subtree_copies has insertted its 7717 code before the current statement. 7718 77192010-01-22 Joern Rennecke <amylaar@spamcop.net> 7720 7721 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type. 7722 7723 * gcc-plugin.h (plugin_init): Use "C" likage for c++. 7724 77252010-01-21 Martin Jambor <mjambor@suse.cz> 7726 7727 PR tree-optimization/42585 7728 * tree-sra.c (struct access): New field grp_total_scalarization. 7729 (dump_access): Dump the new field. 7730 (should_scalarize_away_bitmap): New variable. 7731 (cannot_scalarize_away_bitmap): Likewise. 7732 (sra_initialize): Allocate new bitmaps. 7733 (sra_deinitialize): Free new bitmaps. 7734 (create_access_1): New function. 7735 (create_access): Parts moved to create_access_1. 7736 (type_consists_of_records_p): New function. 7737 (completely_scalarize_record): Likewise. 7738 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap. 7739 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap. 7740 (sort_and_splice_var_accesses): Hint groups with a total_scalarization 7741 access. 7742 (analyze_all_variable_accesses): Completely scalarize small eligible 7743 records. 7744 77452010-01-21 Martin Jambor <mjambor@suse.cz> 7746 7747 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields. 7748 77492010-01-21 Andrew Haley <aph@redhat.com> 7750 7751 * gcc.c (process_command): Move lang_specific_driver before 7752 setting cc_libexec_prefix. 7753 77542010-01-21 Richard Guenther <rguenther@suse.de> 7755 7756 PR middle-end/19988 7757 * fold-const.c (negate_expr_p): Pretend only negative 7758 real constants are easily negatable. 7759 77602010-01-20 Janis Johnson <janis187@us.ibm.com> 7761 Jason Merrill <jason@redhat.com> 7762 7763 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ... 7764 (TYPE_TRANSPARENT_AGGR): this, for union and record. 7765 * calls.c (initialize argument_information): Handle it. 7766 * c-common.c (handle_transparent_union_attribute): Use new name. 7767 * c-decl.c (finish_struct): Ditto. 7768 * c-typeck.c (type_lists_compatible_p): Ditto. 7769 (convert_for_assignment): Use new name and also handle record. 7770 * function.c (aggregate_value_p): Handle it. 7771 (pass_by_reference): Ditto. 7772 (assign_parm_data_types): Ditto. 7773 * print-tree.c (print_node): Ditto. 7774 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto. 7775 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto. 7776 * tree.c (first_field): New fn. 7777 77782010-01-21 Dave Korn <dave.korn.cygwin@gmail.com> 7779 7780 PR target/42818 7781 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers, 7782 even when linking statically, for now. 7783 77842010-01-20 Alexandre Oliva <aoliva@redhat.com> 7785 7786 PR debug/42715 7787 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set 7788 without a cselib val. 7789 (count_uses): Accept MO_VAL_SET with no val on stores. 7790 (add_stores): Likewise. 7791 77922010-01-20 Jakub Jelinek <jakub@redhat.com> 7793 7794 * var-tracking.c (check_value_val): Add a compile time assertion. 7795 (dv_is_decl_p): Simplify. 7796 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use 7797 gcc_assert if ENABLE_CHECKING. 7798 77992010-01-20 Alexandre Oliva <aoliva@redhat.com> 7800 7801 PR debug/42782 7802 * var-tracking.c: Include tree-flow.h. 7803 (mem_dies_at_call): New. 7804 (dataflow_set_preserve_mem_locs): Use it. 7805 (dataflow_set_remove_mem_locs): Likewise. 7806 (dump_var): Renamed from dump_variable. Adjust all callers. 7807 (dump_var_slot): Renamed from dump_variable_slot. Likewise. 7808 * Makefile.in (var-tracking.o): Adjust deps. 7809 78102010-01-20 Joern Rennecke <amylaar@spamcop.net> 7811 7812 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list. 7813 78142010-01-20 Richard Guenther <rguenther@suse.de> 7815 7816 PR tree-optimization/42717 7817 * tree-ssa-dce.c (get_live_post_dom): Remove. 7818 (forward_edge_to_pdom): Take an arbitrary edge to copy 7819 degenerate PHI args from. 7820 (remove_dead_stmt): Use the first post-dominator even if it 7821 does not contain live statements as redirection destination. 7822 78232010-01-20 Richard Guenther <rguenther@suse.de> 7824 7825 * tree-inline.c (estimate_num_insns): Handle EH builtins. 7826 78272010-01-20 Jakub Jelinek <jakub@redhat.com> 7828 7829 * sel-sched.c (create_speculation_check): Remove set but not used 7830 variable twin. 7831 (try_transformation_cache): Remove set but not used variable ds. 7832 (calculate_privileged_insns): Remove set but not used variables 7833 cur_insn and min_spec_insn. 7834 (find_best_expr): Remove set but not used variable avail_n. 7835 * tree-predcom.c (base_names_in_chain_on): Remove set but not used 7836 variable e. 7837 * cgraphunit.c (assemble_thunk): Remove set but not used variable 7838 false_label. 7839 * haifa-sched.c (remove_notes): Remove set but not used variable prev. 7840 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable 7841 new_scop_exit_edge. 7842 78432010-01-20 Felyza Wishbringer <fwishbringer@gmail.com> 7844 7845 PR bootstrap/42786 7846 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx 7847 cpu types. Add support for *-sse3 cpu types. 7848 (x86_64-*-*): Ditto. 7849 78502010-01-20 Jakub Jelinek <jakub@redhat.com> 7851 7852 PR middle-end/42803 7853 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE 7854 argument, call initializer_constant_valid_p_1 instead of 7855 initializer_constant_valid_p, pass CACHE to it, return NULL 7856 immediately if first call returns NULL. 7857 (initializer_constant_valid_p_1): New function. 7858 (initializer_constant_valid_p): Use it. 7859 78602010-01-20 Thomas Quinot <quinot@adacore.com> 7861 7862 * tree.def (PLACEHOLDER_EXPR): Fix comment. 7863 78642010-01-20 Jakub Jelinek <jakub@redhat.com> 7865 7866 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead 7867 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}. 7868 (loc_list_from_tree): Don't handle unsigned division. Handle 7869 signed modulo using DW_OP_{over,over,div,mul,minus}. 7870 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned 7871 modulo instead of signed. 7872 78732010-01-20 DJ Delorie <dj@redhat.com> 7874 7875 * config/h8300/h8300.c (F): Add "in_epilogue" flag. 7876 (Fpa): Pass it 7877 (h8300_emit_stack_adjustment): Propogate it. 7878 (push): Pass it. 7879 (h8300_expand_prologue): Likewise. 7880 (h8300_expand_epilogue): Likewise. 7881 78822010-01-19 Michael Matz <matz@suse.de> 7883 7884 PR tree-optimization/41783 7885 * tree-data-ref.c (toplevel): Include flags.h. 7886 (dump_data_dependence_relation): Also dump the inputs if the 7887 result will be unknown. 7888 (split_constant_offset_1): Look through some conversions. 7889 * tree-predcom.c (determine_roots_comp): Restart a new chain if 7890 the offset from last element is too large. 7891 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF. 7892 (reassociate_to_the_same_stmt): Handle vector registers. 7893 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations 7894 (e.g. conversions). 7895 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add 7896 wide_prolog_niters argument, emit widening instructions. 7897 (vect_do_peeling_for_alignment): Adjust caller, use widened 7898 variant of the iteration cound. 7899 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H). 7900 79012010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 7902 7903 PR target/38697 7904 * config/arm/neon-testgen.m (emit_automatics): New parameter 7905 features. Adjust for Fixed_return_reg feature. 7906 (test_intrinsic): Call emit_automatics with new feature. 7907 * config/arm/neon.ml: Update copyright years. 7908 (features): New Fixed_return_reg feature. 7909 (ops): Update feature for Vget_low. 7910 79112010-01-19 Jakub Jelinek <jakub@redhat.com> 7912 7913 PR tree-optimization/42719 7914 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug 7915 stmt uses. 7916 7917 PR debug/42728 7918 * fwprop.c (all_uses_available_at): Return false if def_set dest 7919 is a REG that is used in def_insn. 7920 79212010-01-19 Joern Rennecke <amylaar@spamcop.net> 7922 7923 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names. 7924 7925 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces. 7926 Add argument names. 7927 7928 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language. 7929 7930 * target.h (struct gcc_target) <secondary_reload>: Change type 7931 of last argument to secondary_reload_info *. 7932 79332010-01-18 Uros Bizjak <ubizjak@gmail.com> 7934 7935 PR target/42774 7936 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for 7937 memory references with unaligned offsets. Remove CQImode handling. 7938 (unaligned_memory_operand): Return 1 for memory references with 7939 unaligned offsets. Remove CQImode handling. 7940 79412010-01-18 Richard Guenther <rguenther@suse.de> 7942 7943 PR middle-end/39954 7944 * cfgexpand.c (expand_call_stmt): TER pointer arguments in 7945 builtin calls. 7946 79472010-01-18 Richard Guenther <rguenther@suse.de> 7948 7949 PR tree-optimization/42781 7950 * tree-ssa-structalias.c (find_what_var_points_to): Skip 7951 restrict processing only if the original variable was artificial. 7952 79532010-01-18 Joern Rennecke <amylaar@spamcop.net> 7954 7955 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to 7956 find number of popped argument bytes. 7957 7958 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces. 7959 Fix the text that describes the return value for invalid insns. 7960 7961 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list. 7962 7963 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types. 7964 Clarify what 'cost of the -dependence' is. Fix quoting. 7965 7966 * toplev.c (default_get_pch_validity): Rename argument to "sz". 7967 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise. 7968 79692010-01-17 Jakub Jelinek <jakub@redhat.com> 7970 7971 * dwarf2out.c (mem_loc_descriptor): Don't ICE on 7972 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}. 7973 79742010-01-17 Richard Guenther <rguenther@suse.de> 7975 7976 PR middle-end/42248 7977 * function.c (split_complex_args): Take a VEC to modify. 7978 (assign_parms_augmented_arg_list): Build a VEC instead of 7979 a chain of PARM_DECLs. 7980 (assign_parms_unsplit_complex): Take a VEC of arguments. 7981 Do not fixup unmodified parms. 7982 (assign_parms): Deal with the VEC. 7983 (gimplify_parameters): Likewise. 7984 79852010-01-17 Richard Guenther <rguenther@suse.de> 7986 7987 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI 7988 node existence check. 7989 * tree-vect-loop.c (vect_analyze_loop_form): Likewise. 7990 * tree-cfgcleanup.c (merge_phi_nodes): Likewise. 7991 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise. 7992 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise. 7993 (gimple_execute_on_growing_pred): Likewise. 7994 79952010-01-17 Richard Guenther <rguenther@suse.de> 7996 7997 PR tree-optimization/42773 7998 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence. 7999 (compute_antic_aux): Likewise. 8000 (compute_partial_antic_aux): Likewise. 8001 80022010-01-17 Jie Zhang <jie.zhang@analog.com> 8003 8004 PR debug/42767 8005 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE 8006 and US_TRUNCATE. 8007 80082010-01-17 Joern Rennecke <amylaar@spamcop.net> 8009 8010 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of 8011 appearance. 8012 8013 (TARGET_LEGITIMATE_ADDRESS_P): Add return type. 8014 Fix markup for strict argument. 8015 8016 (TARGET_SCHED_REORDER2): Fix argument types. 8017 8018 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type. 8019 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise. 8020 8021 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name. 8022 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise. 8023 8024 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): 8025 Add argument name. 8026 8027 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation. 8028 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise. 8029 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise. 8030 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise. 8031 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise. 8032 8033 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo. 8034 8035 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name. 8036 8037 (TARGET_ASM_RELOC_RW_MASK): Add return type. 8038 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type. 8039 8040 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter. 8041 8042 (TARGET_ASM_FILE_START): Put @findex before paragraph start. 8043 Use prototype. 8044 8045 (TARGET_ASM_NAMED_SECTION): Fix argument list. 8046 8047 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr. 8048 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise. 8049 8050 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr. 8051 8052 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types. 8053 8054 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup 8055 referring to it. Fix language. 8056 8057 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr. 8058 8059 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument. 8060 8061 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types. 8062 8063 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument. 8064 8065 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and 8066 '@var{stream}. Remove stray 'and'. 8067 8068 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr. 8069 8070 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument. 8071 8072 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article. 8073 8074 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was 8075 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P. 8076 8077 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces. 8078 Fix description of return value. 8079 Rename argument "sz" to "len." 8080 8081 (TARGET_CXX_GUARD_MASK_BIT): Add missing article. 8082 Clarify meaning of 'true' return value. 8083 8084 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type. 8085 8086 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of 8087 rep_mode versus mode_rep. 8088 8089 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document. 8090 8091 (TARGET_BUILTIN_DECL): Fix name. 8092 8093 (TARGET_COMMUTATIVE_P): Fix type of first argument. 8094 8095 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL. 8096 8097 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type. 8098 8099 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook. 8100 8101 (TARGET_RELAXED_ORDERING): Use @deftypevr. 8102 8103 (TARGET_GET_DRAP_RTX): Note that this is a hook. 8104 Clarify language. 8105 8106 (TARGET_BUILTIN_RECIPROCAL): Fix argument types. 8107 Rename argument tm_fn to md_fn. 8108 8109 (TARGET_OPTION_PRINT): Fix argument list. 8110 81112010-01-16 Harsha Jagasia <harsha.jagasia@amd.com> 8112 8113 PR target/42664 8114 * config/i386/i386.c (ix86_fixup_binary_operands): 8115 Revert FMA4 fixup of operands. 8116 81172010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8118 8119 PR gcc/42525 8120 * Makefile.in (write_entries_to_file, install-plugin): 8121 Use \012 instead of \n with tr. 8122 81232010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com> 8124 8125 * configure.ac (HAVE_AS_REF): New C macro. 8126 * configure: Regenerate. 8127 * config.in: Likewise. 8128 * collect2.c (main): Only postpone SCAN_DWEH to the second pass 8129 if HAVE_AS_REF. 8130 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define 8131 if HAVE_AS_REF. 8132 81332010-01-16 Joern Rennecke <amylaar@spamcop.net> 8134 8135 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types. 8136 8137 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types. 8138 8139 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types. 8140 8141 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces. 8142 8143 (TARGET_IN_SMALL_DATA_P): Fix argument type. 8144 8145 (TARGET_BINDS_LOCAL_P): Fix argument type. 8146 8147 (TARGET_ASM_FILE_END): Use prototype. 8148 8149 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces. 8150 8151 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type. 8152 8153 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types. 8154 8155 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type. 8156 8157 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces. 8158 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise. 8159 8160 (TARGET_PCH_VALID_P): Put 'const char *' in braces. 8161 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise. 8162 8163 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces. 8164 (TARGET_ADDR_SPACE_SUBSET_P): Likewise. 8165 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces. 8166 (TARGET_ADDR_SPACE_CONVERT): Likewise. 8167 8168 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces. 8169 8170 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype. 8171 8172 (TARGET_INIT_BUILTINS): Use prototype. 8173 8174 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN): 8175 Put 'const char *' in braces. Fix parameter types. 8176 (TARGET_INVALID_CONVERSION): Fix parameter types. 8177 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise. 8178 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise. 8179 8180 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'. 8181 Fix argument type. 8182 8183 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'. 8184 8185 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'. 8186 81872010-01-15 Joern Rennecke <amylaar@spamcop.net> 8188 8189 * doc/tm.texi (TARGET_HELP): Fix return type. 8190 8191 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode' 8192 in braces. Fix argument types. 8193 8194 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype. 8195 8196 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype. 8197 8198 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type. 8199 8200 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces. 8201 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise. 8202 8203 (TARGET_MANGLE_TYPE): Fix argument types. 8204 8205 (TARGET_IRA_COVER_CLASSES): Use prototype. 8206 8207 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype. 8208 8209 (TARGET_CAN_ELIMINATE): Use identifiers for argument names. 8210 8211 (TARGET_PROMOTE_PROTOTYPES): Fix argument type. 8212 8213 (TARGET_MUST_PASS_IN_STACK): Fix argument type. 8214 8215 (TARGET_CALLEE_COPIES): Fix argument types. 8216 8217 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type. 8218 8219 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types. 8220 8221 (TARGET_FUNCTION_VALUE): Fix argument types. 8222 8223 (TARGET_RETURN_IN_MSB): Fix argument type. 8224 8225 (TARGET_RETURN_IN_MEMORY): Fix argument types. 8226 8227 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types. 8228 8229 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type. 8230 8231 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text 8232 agree with return type. 8233 8234 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype. 8235 82362010-01-15 Jing Yu <jingyu@google.com> 8237 8238 PR rtl-optimization/42691 8239 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set 8240 a pseudo to a constant and are merged, and adjust comments. 8241 82422010-01-15 Eric Botcazou <ebotcazou@adacore.com> 8243 8244 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo. 8245 82462010-01-15 Richard Guenther <rguenther@suse.de> 8247 8248 PR middle-end/42739 8249 * tree-cfgcleanup.c (remove_forwarder_block): Move destination 8250 labels of computed or non-local gotos to the destination. 8251 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH 8252 landing pad label is the first label. 8253 82542010-01-15 Richard Guenther <rguenther@suse.de> 8255 8256 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru. 8257 82582010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com> 8259 8260 PR target/42747 8261 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn 8262 to allow generation of the xssqrtdp instruction on power7. 8263 (sqrtdf2_fpr): Ditto. 8264 82652010-01-14 Jakub Jelinek <jakub@redhat.com> 8266 8267 PR middle-end/42674 8268 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in 8269 functions with noreturn attribute. 8270 8271 PR c++/42608 8272 * varasm.c (declare_weak): Add weak attribute to decl if it 8273 doesn't have one already. 8274 (assemble_external): Only add decls to weak_decls if they also 8275 have weak attribute. 8276 82772010-01-14 Alexandre Oliva <aoliva@redhat.com> 8278 8279 * var-tracking.c (var_reg_delete): Don't delete the association 8280 between REGs and values or one-part variables if the register 8281 isn't clobbered. 8282 82832010-01-14 Jakub Jelinek <jakub@redhat.com> 8284 8285 PR debug/42657 8286 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just 8287 because its first operand is a non-localized variable. 8288 82892010-01-14 Martin Jambor <mjambor@suse.cz> 8290 8291 PR tree-optimization/42706 8292 * tree-sra.c (encountered_recursive_call): New variable. 8293 (encountered_unchangable_recursive_call): Likewise. 8294 (sra_initialize): Initialize both new variables. 8295 (callsite_has_enough_arguments_p): New function. 8296 (scan_function): Call decl and flags check only for IPA-SRA, check 8297 whether there is a recursive call and whether it has enough arguments. 8298 (all_callers_have_enough_arguments_p): New function. 8299 (convert_callers): Look for recursive calls only when 8300 encountered_recursive_call is set. 8301 (ipa_early_sra): Bail out either if 8302 !all_callers_have_enough_arguments_p or 8303 encountered_unchangable_recursive_call. 8304 83052010-01-14 Alexander Monakov <amonakov@ispras.ru> 8306 8307 * sel-sched.c: Add 2010 to copyright years. 8308 * sel-sched-ir.c: Likewise. 8309 * sel-sched-ir.h: Likewise. 8310 83112010-01-14 Martin Jambor <mjambor@suse.cz> 8312 8313 PR tree-optimization/42714 8314 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type 8315 constructors specially. 8316 83172010-01-14 Andi Kleen <ak@linux.intel.com> 8318 8319 * config/i386/drivers-i386.c (detect_caches_intel): 8320 Add l2sizekb parameter and fill in. 8321 (host_detect_local_cpu): Add l2sizekb, fill in. 8322 Add Atom small cache heuristic. 8323 83242010-01-14 Andi Kleen <ak@linux.intel.com> 8325 8326 * config/i386/drivers-i386.c (detect_caches_cpuid4): 8327 Add level3 parameter and fill in. 8328 (detect_caches_intel): Handle level3 cache. 8329 83302010-01-14 Andi Kleen <ak@linux.intel.com> 8331 8332 * config/i386/drivers-i386.c (host_detect_local_cpu): 8333 Fix core duo detection. 8334 83352010-01-14 Andi Kleen <ak@linux.intel.com> 8336 8337 * config/i386/drivers-i386.c (host_detect_local_cpu): 8338 Fix Atom detection. 8339 83402010-01-14 Alexander Monakov <amonakov@ispras.ru> 8341 8342 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to... 8343 (rs6000_variable_issue_1): this. Use... 8344 (rs6000_variable_issue): here. Reimplement. Print debug info. 8345 83462010-01-14 Alexander Monakov <amonakov@ispras.ru> 8347 8348 * sel-sched-ir.c (sel_restore_other_notes): Rename to 8349 sel_restore_notes. Update all callers. Call reemit_notes 8350 for all insns. 8351 83522010-01-14 Andrey Belevantsev <abel@ispras.ru> 8353 8354 PR rtl-optimization/42246 8355 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner 8356 loops. 8357 83582010-01-14 Andrey Belevantsev <abel@ispras.ru> 8359 8360 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of 8361 all successors is the same as number of successors in current region. 8362 83632010-01-14 Alexander Monakov <amonakov@ispras.ru> 8364 8365 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression 8366 to rename is not separable. Otherwise check that its LHS is not NULL. 8367 83682010-01-14 Alexander Monakov <amonakov@ispras.ru> 8369 8370 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode. 8371 83722010-01-14 Alexander Monakov <amonakov@ispras.ru> 8373 8374 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search 8375 available registers when failed to discover LHS register class. 8376 Fix indentation. Update comment. 8377 83782010-01-14 Andrey Belevantsev <abel@ispras.ru> 8379 Alexander Monakov <amonakov@ispras.ru> 8380 8381 PR rtl-optimization/42389 8382 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE 8383 to can_issue_more. 8384 (advance_state_on_fence): Likewise. 8385 (sel_target_adjust_priority): Print debug output only when 8386 sched_verbose >= 4, not 2. 8387 (get_expr_cost): Do not issue all unique insns on the next cycle. 8388 (fill_insns): Initialize can_issue_more from the value saved 8389 with the fence. 8390 * sel-sched-ir.c (flist_add): New parameter issue_more. 8391 Init FENCE_ISSUE_MORE with it. 8392 (merge_fences): Likewise. 8393 (init_fences): Update call to flist_add. 8394 (add_to_fences, add_clean_fence_to_fences) 8395 (add_dirty_fence_to_fences): Likewise. 8396 (move_fence_to_fences): Update call to merge_fences. 8397 (invoke_reorder_hooks): Do not reset can_issue_more on insns from 8398 sched groups. 8399 * sel-sched-ir.h (struct _fence): New field issue_more. 8400 (FENCE_ISSUE_MORE): New accessor macro. 8401 84022010-01-14 Andrey Belevantsev <abel@ispras.ru> 8403 8404 PR rtl-optimization/42388 8405 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks 8406 that have no predecessors nor successors. Do not call move_bb_info 8407 for empty blocks outside of current region. 8408 84092010-01-14 Alexander Monakov <amonakov@ispras.ru> 8410 8411 PR rtl-optimization/42294 8412 * sel-sched-ir.h (struct _sel_insn_data): Update comment. 8413 * sel-sched.c (move_exprs_to_boundary): Transitively add all 8414 originators' originators. 8415 84162010-01-14 Alexander Monakov <amonakov@ispras.ru> 8417 8418 PR rtl-optimization/39453 8419 PR rtl-optimization/42246 8420 * sel-sched-ir.c (considered_for_pipelining_p): Do not test 8421 for pipelining_p. 8422 (sel_add_loop_preheaders): Add preheader to last_added_blocks. 8423 84242010-01-14 Andrey Belevantsev <abel@ispras.ru> 8425 Alexander Monakov <amonakov@ispras.ru> 8426 8427 PR middle-end/42245 8428 * sel-sched-ir.c (sel_recompute_toporder): New. Use it... 8429 (maybe_tidy_empty_bb): ... here. Make static. Add new 8430 argument. Update all callers. 8431 (tidy_control_flow): ... and here. Recompute topological order 8432 of basic blocks in region if necessary. 8433 (sel_redirect_edge_and_branch): Change return type. Return true 8434 if topological order might have been invalidated. 8435 (purge_empty_blocks): Export and move from... 8436 * sel-sched.c (purge_empty_blocks): ... here. 8437 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype. 8438 (maybe_tidy_empty_bb): Delete prototype. 8439 (purge_empty_blocks): Declare. 8440 84412010-01-14 Andrey Belevantsev <abel@ispras.ru> 8442 8443 PR rtl-optimization/42249 8444 * sel-sched.c (try_replace_dest_reg): When chosen register 8445 and original register is the same, do not bail out early, but 8446 still check all original insns for validity of replacing destination 8447 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function 8448 in this case. 8449 84502010-01-14 Jakub Jelinek <jakub@redhat.com> 8451 8452 PR c/42721 8453 Port from no-undefined-overflow branch: 8454 2009-03-09 Richard Guenther <rguenther@suse.de> 8455 8456 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection. 8457 84582010-01-14 Richard Guenther <rguenther@suse.de> 8459 8460 PR lto/42665 8461 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node. 8462 84632010-01-14 Ira Rosen <irar@il.ibm.com> 8464 8465 PR tree-optimization/42709 8466 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type 8467 as scalar type in creation of constant vector operand. 8468 84692010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 8470 8471 PR testsuite/42414 8472 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%) 8473 (check-parallel-%): Match `testsuite' directory component only 8474 at the end. 8475 84762010-01-14 Shujing Zhao <pearly.zhao@oracle.com> 8477 8478 PR translation/39521 8479 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs 8480 strings with _(). 8481 84822010-01-13 Richard Guenther <rguenther@suse.de> 8483 8484 PR tree-optimization/42730 8485 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for 8486 offset zero. 8487 84882010-01-13 Steve Ellcey <sje@cup.hp.com> 8489 8490 PR target/pr42542 8491 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT 8492 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make 8493 them signed. 8494 84952010-01-13 Bernd Schmidt <bernd.schmidt@analog.com> 8496 8497 * config/bfin/libgcc-bfin.ver: Regenerate based on current 8498 libgcc-std.ver. Add entries for ___smulsi3_highpart and 8499 ___umulsi3_highpart. 8500 8501 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling 8502 rather than schedule_insns if the pass is enabled. 8503 85042010-01-13 Martin Jambor <mjambor@suse.cz> 8505 8506 PR tree-optimization/42704 8507 * tree-sra.c (sra_modify_assign): Do not delete assignments to 8508 SSA_NAMEs. 8509 85102010-01-13 Martin Jambor <mjambor@suse.cz> 8511 8512 PR tree-optimization/42703 8513 * tree-sra.c (analyze_access_subtree): Check that we can build a 8514 reference to the original data within the aggregate. 8515 85162010-01-13 Richard Guenther <rguenther@suse.de> 8517 8518 PR tree-optimization/42705 8519 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels. 8520 85212010-01-13 Richard Guenther <rguenther@suse.de> 8522 8523 PR middle-end/42716 8524 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs. 8525 85262010-01-13 Jakub Jelinek <jakub@redhat.com> 8527 8528 PR debug/41371 8529 * var-tracking.c (values_to_unmark): New variable. 8530 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in 8531 values_to_unmark vector. Moved body to... 8532 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO, 8533 instead queue it into values_to_unmark vector. 8534 (vt_find_locations): Free values_to_unmark vector. 8535 85362010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com> 8537 8538 * config/s390/s390.c (override_options): Set 8539 default of max-pending-list-length to 256 8540 85412010-01-13 Richard Guenther <rguenther@suse.de> 8542 8543 PR lto/42678 8544 * tree-pass.h (PROP_gimple_lcx): New. 8545 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx. 8546 * passes.c (init_optimization_passes): Move pass_lower_complex_O0 8547 before the final cleanup_eh. 8548 (dump_properties): Dump PROP_gimple_lcx. 8549 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx. 8550 (tree_lower_complex_O0): Remove. 8551 (gate_no_optimization): Run if PROP_gimple_lcx is not set. 8552 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run 8553 tree_lower_complex, schedule TODO_update_ssa. 8554 * lto-streamer-out.c (output_function): Stream the functions 8555 properties. 8556 * lto-streamer-in.c (input_function): Likewise. 8557 (lto_read_body): Do not override them here. 8558 85592010-01-12 Joseph Myers <joseph@codesourcery.com> 8560 8561 PR c/42708 8562 * c-typeck.c (build_c_cast): Fold value cast to union type before 8563 wrapping it in a CONSTRUCTOR. 8564 85652010-01-12 Jakub Jelinek <jakub@redhat.com> 8566 8567 PR rtl-optimization/42699 8568 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are 8569 involved. 8570 85712010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8572 8573 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC, 8574 SUBTARGET_WARN_UNUSED_SPEC): Move ... 8575 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC, 8576 SUBTARGET_WARN_UNUSED_SPEC): ... here 8577 * config/mips/iris5.h (LIBGCC_SPEC): Define. 8578 85792010-01-12 Julian Brown <julian@codesourcery.com> 8580 8581 * config/arm/neon-schedgen.ml (Utils): Don't try to 8582 open missing module. 8583 (find_with_result): New. 8584 85852010-01-12 Jakub Jelinek <jakub@redhat.com> 8586 8587 PR debug/42662 8588 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx 8589 sharing when canonicalizing ({lt,ge}u (plus a b) b). 8590 8591 PR tree-optimization/42645 8592 * tree-inline.c (processing_debug_stmt): Move earlier. Make static. 8593 (remap_ssa_name): If processing_debug_stmt and name wasn't found in 8594 decl_map, set processing_debug_stmt to -1 and return name without 8595 any remapping. 8596 85972010-01-11 Dave Korn <dave.korn.cygwin@gmail.com> 8598 8599 * doc/install.texi (Specific#x-x-cygwin): Document minimum required 8600 binutils version, and reword target configuration description. 8601 86022010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org> 8603 8604 * config/avr/avr.h (LINKER_NAME): Remove. 8605 86062010-01-11 Janis Johnson <janis187@us.ibm.com> 8607 8608 PR target/42416 8609 * config/rs6000/rs6000.c (rs6000_override_options): On targets 8610 that support VSX, warn for -mno-altivec if vsx is not disabled, 8611 and disable vsx. 8612 86132010-01-11 Joseph Myers <joseph@codesourcery.com> 8614 Shujing Zhao <pearly.zhao@oracle.com> 8615 8616 PR translation/42469 8617 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=, 8618 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab 8619 character between option name and help text. 8620 * c.opt (imultilib): Likewise. 8621 86222010-01-10 Rafael Avila de Espindola <espindola@google.com> 8623 8624 * lto-streamer-out.c (output_unreferenced_globals): Output static 8625 variables. 8626 86272010-01-10 Steven Bosscher <steven@gcc.gnu.org> 8628 8629 PR rtl-optimization/42621 8630 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not 8631 optimizing for size. 8632 (duplicate_computed_gotos): Remove now-redundant check. 8633 86342010-01-10 Steve Ellcey <sje@cup.hp.com> 8635 8636 PR target/37454 8637 * configure.ac: Save and restore LDFLAGS and LIBS 8638 * configure: Regenerate. 8639 86402010-01-10 Richard Guenther <rguenther@suse.de> 8641 8642 PR middle-end/42667 8643 * builtins.c (fold_builtin_strlen): Add type argument and 8644 convert the resulting length to it. 8645 (fold_builtin_1): Adjust. 8646 86472010-01-09 Jakub Jelinek <jakub@redhat.com> 8648 8649 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten 8650 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by 8651 1 insn. 8652 (num_insns_constant_wide): Adjust for that change. 8653 86542010-01-09 Alexandre Oliva <aoliva@redhat.com> 8655 8656 PR debug/42631 8657 * web.c (union_defs): Add used argument, to combine uses of 8658 uninitialized regs. 8659 (entry_register): Adjust type and tests of used argument. 8660 (web_main): Widen used for new use. Pass it to union_defs. 8661 * df.h (union_defs): Adjust prototype. 8662 86632010-01-09 Alexandre Oliva <aoliva@redhat.com> 8664 8665 PR debug/42630 8666 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug 8667 uses in new incoming argument. Free body. 8668 (reset_debug_uses_in_loop): New. 8669 (analyze_insn_to_expand_var): Call the latter if the former found 8670 anything. Fix whitespace. Reject invalid dest overlaps before 8671 going through all insns in the loop. 8672 86732010-01-09 Alexandre Oliva <aoliva@redhat.com> 8674 8675 PR debug/42629 8676 * haifa-sched.c (dying_use_p): Debug insns don't count. 8677 86782010-01-09 Alexandre Oliva <aoliva@redhat.com> 8679 8680 PR middle-end/42363 8681 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls. 8682 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice. 8683 (verify_gimple_call): Reject LHS in noreturn calls. 8684 86852010-01-09 Alexandre Oliva <aoliva@redhat.com> 8686 8687 PR debug/42604 8688 PR debug/42395 8689 * tree-vect-loop-manip.c (adjust_info): New type. 8690 (adjust_vec): New pointer to vector. 8691 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New. 8692 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New. 8693 (slpeel_update_phis_for_duplicate_loop): Use them. 8694 (slpeel_update_phi_nodes_for_guard1): Likewise. 8695 (slpeel_update_phi_nodes_for_guard2): Likewise. 8696 (slpeel_tree_peel_loop_to_edge): Likewise. 8697 (vect_update_ivs_after_vectorizer): Likewise. 8698 86992010-01-09 Alexandre Oliva <aoliva@redhat.com> 8700 8701 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren. 8702 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise. 8703 87042010-01-09 Alexandre Oliva <aoliva@redhat.com> 8705 8706 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence 8707 bogus uninitialized warning. 8708 87092010-01-09 Richard Guenther <rguenther@suse.de> 8710 8711 PR middle-end/42512 8712 * tree-scalar-evolution.c (interpret_loop_phi): Make sure 8713 the evolution is compatible with the initial condition. 8714 87152010-01-09 Jakub Jelinek <jakub@redhat.com> 8716 8717 * gcc.c (process_command): Update copyright notice dates. 8718 * gcov.c (print_version): Likewise. 8719 * gcov-dump.c (print_version): Likewise. 8720 * mips-tfile.c (main): Likewise. 8721 * mips-tdump.c (main): Likewise. 8722 87232010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org> 8724 8725 PR target/41885 8726 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check. 8727 (rotlhi3): Delete. 8728 (rotlhi3_8): Delete. 8729 (rotlsi3): Delete. 8730 (rotlsi3_8): Delete. 8731 (rotlsi3_16): Delete. 8732 (rotlsi3_24): Delete. 8733 (rotl<mode>3): New. 8734 (*rotw<mode>3): New. 8735 (*rotb<mode>3): New. 8736 * config/avr/avr.c (avr_rotate_bytes): New function. 8737 * config/avr/avr-proto.h (avr_rotate_bytes): New function. 8738 87392010-01-08 Steve Ellcey <sje@cup.hp.com> 8740 8741 PR target/37454 8742 * configure.ac: Modify -rdynamic check. 8743 * configure: Regenerate. 8744 87452010-01-08 DJ Delorie <dj@redhat.com> 8746 8747 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler 8748 register popping order. 8749 87502010-01-08 Richard Guenther <rguenther@suse.de> 8751 8752 PR lto/42528 8753 * c.opt (fsigned-char): Also let LTO handle this option. 8754 (funsigned-char): Likewise. 8755 87562010-01-07 Richard Guenther <rguenther@suse.de> 8757 8758 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING. 8759 (gimple_op): Likewise. 8760 (gimple_op_ptr): Likewise. 8761 (gimple_assign_set_lhs): Remove gcc_assert. 8762 (gimple_assign_set_rhs1): Likewise. 8763 (gimple_assign_set_rhs2): Likewise. 8764 (gimple_call_set_lhs): Likewise. 8765 (gimple_call_set_fn): Likewise. 8766 (gimple_call_set_fndecl): Likewise. 8767 (gimple_call_fndecl): Likewise. 8768 (gimple_call_return_type): Likewise. 8769 (gimple_call_set_chain): Likewise. 8770 (gimple_call_num_args): Likewise. 8771 (gimple_call_set_arg): Likewise. 8772 (gimple_cond_set_code): Likewise. 8773 (gimple_cond_set_lhs): Likewise. 8774 (gimple_cond_set_rhs): Likewise. 8775 (gimple_cond_set_true_label): Likewise. 8776 (gimple_cond_set_false_label): Likewise. 8777 (gimple_label_set_label): Likewise. 8778 (gimple_goto_set_dest): Likewise. 8779 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING. 8780 (gimple_debug_bind_get_value): Likewise. 8781 (gimple_debug_bind_get_value_ptr): Likewise. 8782 (gimple_debug_bind_set_var): Likewise. 8783 (gimple_debug_bind_set_value): Likewise. 8784 (gimple_debug_bind_reset_value): Likewise. 8785 (gimple_debug_bind_has_value_p): Likewise. 8786 (gimple_return_retval_ptr): Remove gcc_assert. 8787 (gimple_return_retval): Likewise. 8788 (gimple_return_set_retval): Likewise. 8789 * tree-flow.h (struct gimple_df): Remove nonlocal_all member. 8790 (safe_referenced_var_iterator): Remove. 8791 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise. 8792 * tree-flow-inline.h (gimple_nonlocal_all): Remove. 8793 (fill_referenced_var_vec): Remove. 8794 (first_readonly_imm_use): Remove redundant gcc_assert. 8795 (phi_arg_index_from_use): Combine gcc_asserts. 8796 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING. 8797 (first_imm_use_stmt): Remove redundant gcc_assert. 8798 * tree-cfg.c (verify_gimple_call): Verify function and chain 8799 operands. Verify arguments. 8800 (verify_types_in_gimple_stmt): Verify condition code and labels. 8801 88022010-01-07 Richard Guenther <rguenther@suse.de> 8803 8804 PR tree-optimization/42641 8805 * sese.c (rename_map_elt_info): Use the SSA name version, do 8806 not hash pointers. 8807 88082010-01-07 Jakub Jelinek <jakub@redhat.com> 8809 8810 PR tree-optimization/42625 8811 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*, 8812 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases. 8813 88142010-01-07 Duncan Sands <baldrick@free.fr> 8815 8816 * Makefile.in (PLUGIN_HEADERS): Add version.h. 8817 88182010-01-07 Uros Bizjak <ubizjak@gmail.com> 8819 8820 PR target/42511 8821 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when 8822 note itself is not function_invariant_p. 8823 88242009-01-07 Steven Bosscher <steven@gcc.gnu.org> 8825 8826 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist): 8827 Do not add the DF_NOTE problem. 8828 * store-motion.c (execute_rtl_store_motion): Likewise. 8829 88302010-01-07 Martin Jambor <mjambor@suse.cz> 8831 8832 PR tree-optimization/42157 8833 * tree-sra.c (compare_access_positions): Stabilize sort if both 8834 accesses have integer types, return zero immediately if they are the 8835 same. 8836 88372010-01-06 Richard Henderson <rth@redhat.com> 8838 8839 PR middle-end/41883 8840 * haifa-sched.c (add_to_note_list): Merge into ... 8841 (concat_note_lists): ... here, and ... 8842 (unlink_other_notes, rm_other_notes): Merge into... 8843 (remove_notes): ... here. Create REG_SAVE_NOTEs for 8844 NOTE_INSN_EPILOGUE_BEG. 8845 88462010-01-06 Richard Guenther <rguenther@suse.de> 8847 8848 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do 8849 not inline regular functions into always-inline functions. 8850 88512010-01-06 Nick Clifton <nickc@redhat.com> 8852 8853 * config/rx/rx.h (enum rx_cpu_type): Add RX200. 8854 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are 8855 used together. 8856 (OVERRIDE_OPTIONS): Delete. 8857 (OPTIMIZATION_OPTIONS): Define. 8858 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option. 8859 * config/rx/rx.c (rx_handle_option): Issue an error message if 8860 -mcpu=rx200 and -fpu are used together. 8861 (rx_set_optimization_options): New function. Issue an error 8862 message if an optimization attribute attempts to reset the FPU/ 8863 math optimization pairing. 8864 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype. 8865 * config/rx/rx.opt: Set the default to 32-bit doubles. 8866 * config/rx/t-rx: Add multilibs for -nofpu option. 8867 * doc/invoke.texi: Update documentation of RX options. 8868 88692010-01-06 Richard Guenther <rguenther@suse.de> 8870 8871 * tree-ssa-pre.c (name_to_id): New global. 8872 (alloc_expression_id): Simplify SSA name handling. 8873 (lookup_expression_id): Likewise. 8874 (init_pre): Zero name_to_id. 8875 (fini_pre): Free it. 8876 88772010-01-06 Uros Bizjak <ubizjak@gmail.com> 8878 8879 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM. 8880 88812010-01-05 H.J. Lu <hongjiu.lu@intel.com> 8882 8883 PR target/42542 8884 * config/i386/sse.md (smaxv2di3): New. 8885 (umaxv2di3): Likewise. 8886 (sminv2di3): Likewise. 8887 (uminv2di3): Likewise. 8888 88892010-01-05 Eric Botcazou <ebotcazou@adacore.com> 8890 8891 PR target/42564 8892 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete. 8893 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise. 8894 (legitimize_tls_address): Likewise. 8895 (sparc_tls_referenced_p): Likewise. 8896 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address 8897 and adjust calls to legitimize_pic_address. 8898 (legitimate_constant_p) Use sparc_tls_referenced_p. 8899 (legitimate_pic_operand_p): Likewise. 8900 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P. 8901 (sparc_tls_symbol_ref_1): Delete. 8902 (sparc_tls_referenced_p): Make static, recognize specific patterns. 8903 (legitimize_tls_address): Make static, handle CONST patterns. 8904 (legitimize_pic_address): Make static, remove unused parameter and 8905 adjust recursive calls. 8906 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p 8907 and adjust call to legitimize_pic_address. 8908 (sparc_output_mi_thunk): Likewise. 8909 89102010-01-05 Paolo Bonzini <bonzini@gnu.rg> 8911 H.J. Lu <hongjiu.lu@intel.com> 8912 8913 PR target/42542 8914 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT 8915 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both 8916 operands to make them signed. 8917 8918 Revert: 8919 2010-01-04 H.J. Lu <hongjiu.lu@intel.com> 8920 8921 PR target/42542 8922 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert 8923 GTU to GT for V4SI and V2DI. 8924 8925 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP. 8926 (umin<mode>3): Removed. 8927 (uminv8hi3): New. 8928 (uminv4si3): Likewise. 8929 89302010-01-05 Martin Jambor <mjambor@suse.cz> 8931 8932 PR tree-optimization/42462 8933 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of 8934 current_function_decl to helper functions and macros. 8935 89362010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8937 8938 PR bootstrap/41771 8939 * flags.h: Don't include real.h. 8940 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS, 8941 HONOR_SIGN_DEPENDENT_ROUNDING): Move ... 8942 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, 8943 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here. 8944 * dominance.c: Update copyright. 8945 * gimple.c (walk_gimple_op): Remove inline. 8946 * tree-ssa-reassoc.c: Include real.h. 8947 * Makefile.in (FLAGS_H): Remove $(REAL_H). 8948 (tree-ssa-reassoc.o): Depend on $(REAL_H). 8949 89502010-01-05 Nick Clifton <nickc@redhat.com> 8951 8952 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second 8953 register to push into the stack frame when the accumulator has to 8954 be saved during interrupts. 8955 89562010-01-05 Eric Fisher <joefoxreal@gmail.com> 8957 8958 * doc/invoke.texi: Remove the documentation about option 8959 -Wunreachable-code. 8960 * common.opt (Wunreachable-code): Preserved for backward 8961 compatibility. 8962 * tree-cfg.c: Remove the implementation of -Wunreachable-code. 8963 * opts.c (common_handle_option): Add OPT_Wunreachable_code to 8964 the backward compatibility flag section. 8965 89662010-01-05 Richard Guenther <rguenther@suse.de> 8967 8968 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize. 8969 89702010-01-05 Jakub Jelinek <jakub@redhat.com> 8971 8972 PR other/42611 8973 * cfgexpand.c (expand_one_var): Diagnose too large variables. 8974 8975 PR tree-optimization/42508 8976 * tree-sra.c (convert_callers): Check for recursive call 8977 by comparing cgraph nodes instead of decls. 8978 (modify_function): Call ipa_modify_formal_parameters also 8979 on all same_body aliases. 8980 8981 * cgraphunit.c (cgraph_materialize_all_clones): Compare 8982 cgraph nodes when checking for same_body aliases. 8983 89842010-01-05 Richard Guenther <rguenther@suse.de> 8985 8986 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant 8987 allocation and lookup. 8988 (get_or_alloc_expr_for_constant): Likewise. 8989 (phi_translate): Sink allocation. 8990 89912010-01-04 Richard Guenther <rguenther@suse.de> 8992 8993 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate 8994 a new entry only if needed. 8995 * tree-ssa-dom.c (lookup_avail_expr): Likewise. 8996 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one 8997 hashtable lookup. 8998 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate 8999 the result array. 9000 (phi_translate): Handle CONSTANTs early. 9001 90022010-01-04 Martin Jambor <mjambor@suse.cz> 9003 9004 PR tree-optimization/42398 9005 * tree-sra.c (struct access): Removed flag grp_different_types. 9006 (dump_access): Do not dump the removed flag. 9007 (sort_and_splice_var_accesses): Do not set the removed flag. 9008 (sra_modify_expr): Check for type compatibility directly. 9009 90102010-01-04 Martin Jambor <mjambor@suse.cz> 9011 9012 PR tree-optimization/42366 9013 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on 9014 edges with variable number of parameters. 9015 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done 9016 flag instead of asserting it. 9017 (ipa_read_node_info): Read uses_analysis_done flag. 9018 90192010-01-04 Richard Guenther <rguenther@suse.de> 9020 9021 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use 9022 iterative_hash_* as intended. 9023 (vn_reference_compute_hash): Likewise. Simplify hashing 9024 SSA names. 9025 (vn_reference_lookup_2): Likewise. 9026 (vn_nary_op_compute_hash): Likewise. 9027 (vn_phi_compute_hash): Likewise. 9028 (expressions_equal_p): Remove strange code. 9029 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable (). 9030 (pre_expr_hash): Likewise. Simplify hashing SSA names. 9031 (bitmap_insert_into_set_1): Take value-id as parameter. 9032 (add_to_value): Pass it. 9033 (bitmap_insert_into_set): Likewise. 9034 (bitmap_value_insert_into_set): Likewise. Remove redundant check. 9035 90362010-01-04 Jakub Jelinek <jakub@redhat.com> 9037 9038 PR driver/42442 9039 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define. 9040 (do_self_spec): For switches with SWITCH_IGNORE set set also 9041 SWITCH_IGNORE_PERMANENTLY. 9042 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead 9043 of SWITCH_IGNORE. 9044 90452010-01-04 Rafael Avila de Espindola <espindola@google.com> 9046 9047 * lto-streamer-out.c (output_unreferenced_globals): Output the full 9048 tree of an unreferenced global var. 9049 90502010-01-04 H.J. Lu <hongjiu.lu@intel.com> 9051 9052 PR target/42542 9053 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert 9054 GTU to GT for V4SI and V2DI. 9055 9056 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP. 9057 (umin<mode>3): Removed. 9058 (uminv8hi3): New. 9059 (uminv4si3): Likewise. 9060 90612010-01-04 H.J. Lu <hongjiu.lu@intel.com> 9062 9063 PR lto/42581 9064 * collect2.c (main): Turn on trace in collect2 if -v is passed 9065 to gcc with LTO. 9066 90672010-01-03 Jerry Quinn <jlquinn@optonline.net> 9068 9069 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update 9070 description of expression operand. 9071 90722010-01-03 Andrew Jenner <andrew@codesourcery.com> 9073 9074 * configure.ac: Add install-html to target_list for Make-hooks. 9075 * configure: Regenerate. 9076 * fortran/Make-lang.in (F95_HTMLFILES): New. 9077 (fortran.html): Use it. 9078 (fortran.install-html): New. 9079 * Makefile.in (install-html): Add lang.install-html. 9080 * java/Make-lang.in (JAVA_HTMLFILES): New. 9081 (java.html): Use it. 9082 (java.install-html): New. 9083 * objc/Make-lang.in (objc.install-html): New. 9084 * objcp/Make-lang.in (obj-c++.install-html): New. 9085 * cp/Make-lang.in (c++.install-html): New. 9086 * ada/gcc-interface/Make-lang.in (ada.install-html): New. 9087 * lto/Make-lang.in (lto.install-html): New. 9088 90892010-01-03 H.J. Lu <hongjiu.lu@intel.com> 9090 9091 PR lto/42520 9092 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt. 9093 90942009-01-03 Steven Bosscher <steven@gcc.gnu.org> 9095 9096 PR rtl-optimization/41862 9097 * store-motion.c (store_killed_in_insn, compute_store_table, 9098 remove_reachable_equiv_notes, replace_store_insn, 9099 build_store_vectors): Ignore all DEBUG_INSNs. 9100 91012010-01-03 H.J. Lu <hongjiu.lu@intel.com> 9102 9103 PR lto/41564 9104 * common.opt: Add dumpdir. 9105 9106 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase 9107 isn't specified. 9108 (option_map): Add --dumpdir. 9109 9110 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir. 9111 9112 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o. 9113 9114 * opts.c (decode_options): Try dump_dir_name first if 9115 dump_base_name isn't an absolute path. 9116 (common_handle_option): Handle OPT_dumpdir. 9117 9118 * toplev.c (dump_dir_name): New. 9119 (print_switch_values): Also ignore -dumpdir. 9120 9121 * toplev.h (dump_dir_name): New. 9122 91232010-01-03 Richard Guenther <rguenther@suse.de> 9124 9125 PR tree-optimization/42589 9126 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow 9127 double-word expansion of bswap32. 9128 91292010-01-03 Steven Bosscher <steven@gcc.gnu.org> 9130 9131 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM 9132 with BLOCK_FOR_INSN. 9133 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise. 9134 * ifcvt.c (noce_get_alt_condition, noce_try_abs, 9135 noce_process_if_block): Likewise. 9136 * gcse.c (compute_local_properties, insert_expr_in_table, 9137 insert_set_in_table, canon_list_insert, find_avail_set, 9138 pre_insert_copy_insn): Likewise. 9139 9140 * basic-block.h (BLOCK_NUM): Move from here... 9141 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler. 9142 91432010-01-03 Richard Guenther <rguenther@suse.de> 9144 9145 PR tree-optimization/42438 9146 * tree-ssa-pre.c (struct bb_bitmap_sets): Add 9147 contains_may_not_return_call flag. 9148 (BB_MAY_NOTRETURN): New. 9149 (valid_in_sets): Trapping nary operations are not valid 9150 in blocks that may not return. 9151 (insert_into_preds_of_block): Remove check for trapping expressions. 9152 (compute_avail): Compute also BB_MAY_NOTRETURN. 9153 91542010-01-03 Gerald Pfeifer <gerald@pfeifer.com> 9155 9156 * doc/invoke.texi: Add 2010 to copyright years. 9157 91582010-01-03 Eric Botcazou <ebotcazou@adacore.com> 9159 9160 * config/sparc/sparc.c: Fix formatting nits. 9161 91622010-01-02 Gerald Pfeifer <gerald@pfeifer.com> 9163 Alexander Monakov <amonakov@ispras.ru> 9164 9165 * doc/invoke.texi (Optimize Options): Reword introduction a bit. 9166 91672010-01-02 Richard Guenther <rguenther@suse.de> 9168 9169 PR middle-end/42577 9170 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks. 9171 (simplify_switch_using_ranges): Mark to be removed edges 9172 as non-executable. 9173 91742010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 9175 9176 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two. 9177 9178 * collect2.c (scan_libraries): Add missing argument in call to 9179 scan_prog_file. 9180 91812010-01-02 Uros Bizjak <ubizjak@gmail.com> 9182 9183 PR target/42448 9184 * config/alpha/predicates.md (aligned_memory_operand): Return false 9185 for CQImode. 9186 (unaligned_memory_operand): Return true for CQImode. 9187 * config/alpha/alpha.c (get_aligned_mem): Assert that location 9188 doesn not cross aligned SImode word boundary. 9189 91902010-01-02 Anatoly Sokolov <aesok@post.ru> 9191 9192 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_): 9193 Remove. 9194 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options, 9195 avr_change_section, avr_reg_class_from_letter) : Remove declaration. 9196 91972010-01-02 Richard Guenther <rguenther@suse.de> 9198 9199 PR lto/41597 9200 * toplev.c (compile_file): Emit LTO marker properly. Change 9201 it to __gnu_lto_v1. 9202 * collect2.c (scan_prog_file): Adjust for changed LTO marker. 9203 92042010-01-01 Richard Guenther <rguenther@suse.de> 9205 9206 PR debug/42455 9207 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order. 9208 92092010-01-01 Richard Guenther <rguenther@suse.de> 9210 9211 PR c/42570 9212 * c-decl.c (grokdeclarator): For zero-size arrays force 9213 structural equality checks as layout_type does. 9214 92152010-01-01 H.J. Lu <hongjiu.lu@intel.com> 9216 9217 * builtins.c: Update copyright to 2010. 9218 92192010-01-01 H.J. Lu <hongjiu.lu@intel.com> 9220 9221 PR lto/42531 9222 * lto-streamer-out.c (produce_asm): Revert the last change. 9223 (copy_function): Likewise. 9224 9225 * lto-streamer.c (lto_get_section_name): Skip any leading 9226 asterisk in name. 9227 92282010-01-01 Richard Guenther <rguenther@suse.de> 9229 9230 PR middle-end/42559 9231 * builtins.c (get_object_alignment): Do not use DECL_ALIGN 9232 for LABEL_DECLs. 9233 9234 9235Copyright (C) 2010 Free Software Foundation, Inc. 9236 9237Copying and distribution of this file, with or without modification, 9238are permitted in any medium without royalty provided the copyright 9239notice and this notice are preserved. 9240