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