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