12007-07-19 Release Manager 2 3 * GCC 4.2.1 released. 4 52007-07-18 Paolo Bonzini <[email protected]> 6 7 Revert: 8 9 2007-07-09 Paolo Bonzini <[email protected]> 10 11 PR middle-end/32004 12 * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO. 13 14 2007-07-06 Paolo Bonzini <[email protected]> 15 16 PR middle-end/32004 17 * function.c (match_asm_constraints_1, rest_of_match_asm_constraints, 18 pass_match_asm_constraints): New. 19 * passes.c (init_optimization_passes): Add new pass. 20 * stmt.c (expand_asm_operands): Set cfun->has_asm_statement. 21 * function.h (struct function): Add has_asm_statement bit. 22 (current_function_has_asm_statement): New. 23 * tree-pass.h (pass_match_asm_constraints): New. 24 252007-07-16 Paul Brook <[email protected]> 26 27 PR target/32753 28 gcc/ 29 * config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn. 30 312007-07-10 Rainer Orth <[email protected]> 32 33 PR target/32538 34 * config/mips/iris6.h (LIBGCC_SPEC): Add libm. 35 362007-07-09 Paolo Bonzini <[email protected]> 37 38 PR middle-end/32004 39 * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO. 40 412007-07-09 Uros Bizjak <[email protected]> 42 43 PR tree-optimization/32681 44 * tree-if-conv.c (find_phi_replacement_condition): Use the condition 45 saved in second_edge->aux when first_bb is a loop header. 46 472007-07-07 Anatoly Sokolov <[email protected]> 48 49 PR target/31331 50 * config/avr/avr.c (avr_naked_function_p): Handle receiving a type 51 rather than a decl. 52 (avr_attribute_table): Make "naked" attribute apply to function types 53 rather than to decls. 54 (avr_handle_fntype_attribute): New function. 55 562007-07-06 Paolo Bonzini <[email protected]> 57 58 PR middle-end/32004 59 * function.c (match_asm_constraints_1, rest_of_match_asm_constraints, 60 pass_match_asm_constraints): New. 61 * passes.c (init_optimization_passes): Add new pass. 62 * stmt.c (expand_asm_operands): Set cfun->has_asm_statement. 63 * function.h (struct function): Add has_asm_statement bit. 64 (current_function_has_asm_statement): New. 65 * tree-pass.h (pass_match_asm_constraints): New. 66 672007-07-06 Uros Bizjak <[email protected]> 68 69 PR rtl-optimization/32450 70 * function.c (thread_prologue_and_epilogue_insns): Emit blockage insn 71 to ensure that instructions are not moved into the prologue when 72 profiling is on. 73 742007-07-04 Richard Guenther <[email protected]> 75 76 PR tree-optimization/32500 77 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): 78 Only use basic blocks that are always executed to infer loop bounds. 79 802007-07-04 Uros Bizjak <[email protected]> 81 82 PR tree-optimization/31966 83 PR tree-optimization/32533 84 * tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not 85 "basic_block" description as its third argument. Update function 86 calls to get destination bb from "edge" argument. Save "cond" into 87 aux field of the edge. Update prototype for changed arguments. 88 (if_convertible_loop_p): Clear aux field of incoming edges if bb 89 contains phi node. 90 (find_phi_replacement_condition): Operate on incoming edges, not 91 on predecessor blocks. If there is a condition saved in the 92 incoming edge aux field, AND it with incoming bb predicate. 93 Return source bb of the first edge. 94 (clean_predicate_lists): Clean aux field of outgoing node edges. 95 (tree_if_conversion): Do not initialize cond variable. Move 96 variable declaration into the loop. 97 (replace_phi_with_cond_gimple_modify_stmt): Remove unneded 98 initializations of new_stmt, arg0 and arg1 variables. 99 1002007-07-04 Kaz Kojima <[email protected]> 101 102 PR target/32506 103 Backport from mainline. 104 * config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand 105 predicate instead of target_operand. 106 (divsi3_i1_media, divsi3_media_2): Likewise. 107 1082007-07-03 Richard Guenther <[email protected]> 109 110 Backport from mainline: 111 2006-12-11 Zdenek Dvorak <[email protected]> 112 113 PR rtl-optimization/30113 114 * loop-iv.c (implies_p): Require the mode of the operands to be 115 scalar. 116 1172007-07-03 Rainer Orth <[email protected]> 118 119 PR target/28307 120 * gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK] 121 (__gthrw_pragma): Provide default definition. 122 (__gthrw2): Use it. 123 * gthr-posix.c (__gthrw_pragma): Define. 124 1252007-07-02 Jakub Jelinek <[email protected]> 126 127 PR libgomp/32468 128 * omp-low.c (check_combined_parallel): New function. 129 (lower_omp_parallel): Call it via walk_stmts, set 130 OMP_PARALLEL_COMBINED if appropriate. 131 (determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS 132 isn't the only statement in WS_ENTRY_BB or OMP_RETURN 133 the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED, 134 don't consider it as combined parallel. 135 1362007-06-30 Alexandre Oliva <[email protected]> 137 138 * dwarf2out.c (dwarf2out_finish): Accept namespaces as context of 139 limbo die nodes. 140 1412007-06-28 Seongbae Park <[email protected]> 142 143 * config/arm/arm.c (arm_get_frame_offsets): Set 144 offsets->locals_base to avoid negative stack size. 145 (thumb_expand_prologue): Assert on negative stack size. 146 1472007-06-28 Jakub Jelinek <[email protected]> 148 149 * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure 150 decl is non-external for AIX ABI. 151 1522007-06-28 David Edelsohn <[email protected]> 153 154 * config/rs6000/predicates.md (current_file_function_operand): 155 Ensure the symbol is non-external for AIX ABI. 156 1572007-06-21 H.J. Lu <[email protected]> 158 159 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI. 160 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi. 161 (ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI. 162 1632007-06-21 Jakub Jelinek <[email protected]> 164 165 PR middle-end/32362 166 * omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL, 167 but decl is a global var, instead return decl. 168 * gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses 169 even for is_global_var decls, if they are private in some outer 170 context. 171 1722007-06-21 Uros Bizjak <[email protected]> 173 174 PR target/32389 175 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL. 176 * config/i386/i386.c (assign_386_stack_local): Assert that 177 SLOT_VIRTUAL is valid only before virtual regs are instantiated. 178 (ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]: 179 Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP. 180 * config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto. 181 1822007-06-20 Jakub Jelinek <[email protected]> 183 184 PR inline-asm/32109 185 * gimplify.c (gimplify_asm_expr): Issue error if type is addressable 186 and !allows_mem. 187 188 PR middle-end/32285 189 * calls.c (precompute_arguments): Also precompute CALL_EXPR arguments 190 if ACCUMULATE_OUTGOING_ARGS. 191 1922007-06-20 Kaz Kojima <[email protected]> 193 194 PR rtl-optimization/28011 195 Backport from mainline. 196 * reload.c (push_reload): Set dont_share if IN appears in OUT 197 also when IN is a PLUS rtx. 198 (reg_overlap_mentioned_for_reload_p): Return true if X and IN 199 are same PLUS rtx. 200 2012007-06-19 Richard Guenther <[email protected]> 202 Michael Matz <[email protected]> 203 204 PR tree-optimization/30252 205 * tree-ssa-structalias.c (solution_set_add): Make sure to 206 preserve all relevant vars. 207 (handle_ptr_arith): Make sure to only handle positive 208 offsets. 209 (push_fields_onto_fieldstack): Create fields for empty 210 bases. 211 2122007-06-19 Jakub Jelinek <[email protected]> 213 214 PR tree-optimization/32353 215 * tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL. 216 2172007-06-17 Eric Botcazou <[email protected]> 218 219 * config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the 220 return mode from the builtin itself. 221 (sparc_fold_builtin): Fix cast of zero constant. 222 2232007-06-15 Diego Novillo <[email protected]> 224 225 PR 32327 226 * tree-ssa-operands.c (build_ssa_operands): Initially assume 227 that the statement does not take any addresses. 228 2292007-06-13 Eric Botcazou <[email protected]> 230 231 * config/sparc/sparc.c (sparc_override_options): Initialize 232 fpu mask correctly. 233 2342007-06-09 Ian Lance Taylor <[email protected]> 235 236 PR tree-optimization/32169 237 * tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and 238 CONVERT_EXPR, check whether min and max both converted to an 239 overflow infinity representation. 240 2412007-06-08 Kaz Kojima <[email protected]> 242 243 PR target/32163 244 Backport from mainline. 245 * config/sh/sh.md (symGOT_load): Don't schedule insns when 246 the symbol is generated with the stack protector. 247 2482007-06-06 Ian Lance Taylor <[email protected]> 249 250 * fold-const.c (merge_ranges): If range_successor or 251 range_predecessor fail, just return 0. 252 2532007-06-05 Ian Lance Taylor <[email protected]> 254 255 * tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a 256 PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p. 257 (extract_range_from_assert): Set TREE_NO_WARNING when creating an 258 expression. 259 (test_for_singularity): Likewise. 260 2612007-06-04 Ian Lance Taylor <[email protected]> 262 263 * tree-vrp.c (adjust_range_with_scev): When loop is not expected 264 to overflow, reduce overflow infinity to regular infinity. 265 (vrp_var_may_overflow): New static function. 266 (vrp_visit_phi_node): Check vrp_var_may_overflow. 267 2682007-05-31 H.J. Lu <[email protected]> 269 270 Backport from mainline: 271 2007-05-25 H.J. Lu <[email protected]> 272 273 * config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it 274 with MASK_SSE2. 275 (__builtin_ia32_vec_ext_v2di): Likewise. 276 (__builtin_ia32_vec_ext_v4si): Likewise. 277 (__builtin_ia32_vec_ext_v8hi): Likewise. 278 (__builtin_ia32_vec_set_v8hi): Likewise. 279 2802007-05-31 John David Anglin <[email protected]> 281 282 Backport from mainline: 283 2007-05-05 Aurelien Jarno <[email protected]> 284 285 * config/pa/pa.md: Split tgd_load, tld_load and tie_load 286 into pic and non-pic versions. Mark r19 as used for 287 tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used 288 for tgd_load, tld_load and tie_load . 289 * config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic 290 version of tgd_load, tld_load and tie_load depending on the 291 value of flag_pic. 292 2932007-05-27 Daniel Berlin <[email protected]> 294 295 Fix PR/30052 296 Backport PTA solver from mainline 297 298 * pointer-set.c: Copy from mainline 299 * pointer-set.h: Ditto. 300 * tree-ssa-structalias.c: Copy solver portions from mainline. 301 * Makefile.in (tree-ssa-structalias.o): Update dependencies 302 3032007-05-30 Ralf Wildenhues <[email protected]> 304 305 * tree-vrp.c (compare_names): Initialize sop. 306 3072007-05-30 Jakub Jelinek <[email protected]> 308 309 PR tree-optimization/31769 310 * except.c (duplicate_eh_regions): Clear prev_try if 311 ERT_MUST_NOT_THROW region is inside of ERT_TRY region. 312 3132007-05-28 Andrew Pinski <[email protected]> 314 315 PR tree-opt/32100 316 * fold-const.c (tree_expr_nonnegative_warnv_p): Don't 317 return true when truth_value_p is true and the type 318 is of signed:1. 319 3202007-05-27 H.J. Lu <[email protected]> 321 322 Backport from mainline: 323 2007-05-25 Uros Bizjak <[email protected]> 324 325 * config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate 326 "memory" attribute for "sseishft" type insn without operands[2]. 327 328 2007-05-25 H.J. Lu <[email protected]> 329 330 * config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift. 331 3322007-05-22 Ian Lance Taylor <[email protected]> 333 334 * tree-vrp.c (avoid_overflow_infinity): New static function, 335 broken out of set_value_range_to_value. 336 (set_value_range_to_value): Call avoid_overflow_infinity. 337 (extract_range_from_assert): Likewise. 338 3392007-05-23 Chen Liqin <[email protected]> 340 341 PR target/30987 342 * config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove. 343 * config/score/predicate.md (const_pow2, const_npow2): remove. 344 * config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef. 345 PR target/30474 346 * config/score/score.c (score_print_operand): makes sure that only lower 347 bits are used. 348 3492007-05-21 Uros Bizjak <[email protected]> 350 351 PR target/31167 352 Backport from mainline. 353 * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use 354 x86_64_general_operand as operand[2] predicate. Remove "iF" 355 from operand constraints and use "e" constraint instead. 356 (*subti3_1, *subti3_1 splitter): Ditto. 357 (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as 358 operand[1] predicate. 359 3602007-05-21 Uros Bizjak <[email protected]> 361 362 PR target/30041 363 Backport from mainline. 364 * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and 365 operands[1] in insn constraint. Correct type attribute to sselog1. 366 3672007-05-20 Kaz Kojima <[email protected]> 368 369 PR target/31701 370 Backport from mainline. 371 * config/sh/sh.c (output_stack_adjust): Avoid using the frame 372 register itself to hold the offset constant. Tell flow the use 373 of r4 and r5 when they are used. 374 3752007-05-20 Kaz Kojima <[email protected]> 376 377 PR target/31480 378 Backport from mainline. 379 * config/sh/sh.md (length): Check if prev_nonnote_insn (insn) 380 is null. 381 3822007-05-20 Kaz Kojima <[email protected]> 383 384 PR target/31022 385 Backport from mainline. 386 * config/sh/sh.c (sh_adjust_cost): Use the result of single_set 387 instead of PATTERN. 388 3892007-05-20 Kaz Kojima <[email protected]> 390 391 PR target/27405 392 Backport from mainline. 393 * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove. 394 (cmpsi{eq,gt,gtu}{si,di}_media): Rename to 395 cmp{eq,gt,gtu}{si,di}_media. 396 (*cmpne0si_media): Remove. 397 (*movsicc_umin): Adjust gen_cmp*_media call. 398 (unordered): Change the mode of unordered and operands[1] to 399 SImode. 400 (seq): Adjust gen_cmp*_media calls. Make the mode of 401 a temporary result of compare SImode if needed. If the mode 402 of operands[0] is DImode, extend the temporary result to DImode. 403 (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise. 404 (sunorderd): Change the mode of match_operand and unorderd to 405 SImode. 406 (cmpeq{sf,df}_media): Remove. 407 (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media. 408 (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand 409 and compare operation to SImode. 410 4112007-05-18 Joseph Myers <[email protected]> 412 413 * config/soft-fp/double.h, config/soft-fp/extended.h, 414 config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c, 415 config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c, 416 config/soft-fp/op-2.h, config/soft-fp/op-4.h, 417 config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from 418 glibc CVS. 419 4202007-05-17 Ian Lance Taylor <[email protected]> 421 422 PR tree-optimization/31953 423 * tree-vrp.c (set_value_range_to_value): Add equiv parameter. 424 Change all callers. 425 (set_value_range_to_null): Call set_value_range_to_value. 426 (extract_range_from_comparison): Likewise. 427 4282007-05-17 Eric Botcazou <[email protected]> 429 430 PR rtl-optimization/31691 431 * combine.c (simplify_set): Build a new src pattern instead of 432 substituting its operands in the COMPARE case. 433 4342007-05-14 Mark Mitchell <[email protected]> 435 436 * BASE-VER: Set to 4.2.1. 437 * DEV-PHASE: Set to prerelease. 438 4392007-05-13 Release Manager 440 441 * GCC 4.2.0 released. 442 4432007-05-12 Richard Guenther <[email protected]> 444 445 PR tree-optimization/31797 446 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not 447 propagate into a stmt that has volatile ops. 448 4492007-05-01 Ian Lance Taylor <[email protected]> 450 451 PR tree-optimization/31739 452 * tree-vrp.c (vrp_val_is_max): New static function. 453 (vrp_val_is_min): New static function. 454 (set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than 455 copying the node. 456 (set_value_range): Use vrp_val_is_{max,min}. 457 (extract_range_from_assert): Likewise. 458 (extract_range_from_binary_expr): Likewise. 459 (extract_range_from_unary_expr): Likewise. 460 (dump_value_range, vrp_meet): Likewise. 461 (vrp_visit_phi_node): Likewise. 462 * tree.c (build_distinct_type_copy): Revert change of 2007-04-27. 463 4642007-05-01 Joseph Myers <[email protected]> 465 466 * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo. 467 4682007-04-27 Anatoly Sokolov <[email protected]> 469 470 * config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and 471 ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture. 472 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). 473 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). 474 4752007-04-27 Ian Lance Taylor <[email protected]> 476 477 PR middle-end/31710 478 * tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or 479 TYPE_MAX_VALUE exist, convert them to the new type. 480 4812007-04-26 Ian Lance Taylor <[email protected]> 482 483 PR target/28675 484 * reload.c (find_reloads_subreg_address): If the address was valid 485 in the original mode but not in the new mode, reload the whole 486 address. 487 4882007-04-26 Ulrich Weigand <[email protected]> 489 490 PR middle-end/30761 491 * reload1.c (eliminate_regs_in_insn): In the single_set special 492 case, attempt to re-recognize the insn before falling back to 493 having reload fix it up. 494 4952007-04-26 Richard Guenther <[email protected]> 496 Daniel Berlin <[email protected]> 497 498 PR tree-optimization/30567 499 * tree-ssa-structalias.c (update_alias_info): Record dereference 500 also if ESCAPE_STORED_IN_GLOBAL. 501 5022007-04-26 Jakub Jelinek <[email protected]> 503 504 PR c++/31598 505 * tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE. 506 507 PR tree-optimization/30558 508 * tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW 509 clear this_state.prev_try. 510 5112007-04-25 Anatoly Sokolov <[email protected]> 512 513 PR target/18989 514 * config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine. 515 5162007-04-24 Andrew Pinski <[email protected]> 517 Roger Sayle <[email protected]> 518 519 PR middle-end/30222 520 * expmed.c (make_tree): Use the correct type, i.e. the inner 521 type, when constructing the individual elements of a CONST_VECTOR. 522 5232007-04-24 Ian Lance Taylor <[email protected]> 524 525 PR tree-optimization/31605 526 * tree-vrp.c (set_value_range): Check that min and max are not 527 both overflow infinities. 528 (set_value_range_to_value): New static function. 529 (extract_range_from_binary_expr): Call set_value_range_to_value. 530 (extract_range_from_expr): Likewise. 531 (extract_range_from_unary_expr): Likewise. Don't create a range 532 which overflows on both sides. 533 (vrp_meet): Check for a useless range. 534 (vrp_visit_phi_node): If we see a constant which looks like an 535 overflow infinity, turn off the TREE_OVERFLOW flag. 536 5372007-04-24 Ian Lance Taylor <[email protected]> 538 539 PR tree-optimization/31602 540 * tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for 541 conditionals in the copied loop header. 542 * tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow 543 warnings if TREE_NO_WARNING is set. 544 * doc/invoke.texi (Warning Options): Clarify that 545 -Wstrict-overflow does not warn about loops. 546 5472007-04-24 Andreas Krebbel <[email protected]> 548 549 PR target/31641 550 * config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length 551 argument of 0 for memset. 552 (s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use 553 unsigned shift instead of the signed variant. 554 5552007-04-24 Daniel Franke <[email protected]> 556 557 * doc/invoke.texi: Removed leading '-' from option index entries. 558 5592007-04-22 Andrew Pinski <[email protected]> 560 561 PR middle-end/31448 562 * expr.c (reduce_to_bit_field_precision): Handle 563 CONST_INT rtx's. 564 5652007-04-20 Richard Henderson <[email protected]> 566 567 PR target/28623 568 * config/alpha/alpha.c (get_unaligned_address): Remove extra_offset 569 argument; update all callers. 570 (get_unaligned_offset): New. 571 * config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use 572 get_unaligned_address, just pass on the address directly. 573 (unaligned_extendqidi): Use gen_lowpart instead of open-coding 574 the subreg in the helper patterns. 575 (unaligned_extendqidi_le): Use get_unaligned_offset. 576 (unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise. 577 (unaligned_extendhidi_be): Likewise. 578 (unaligned_extendhidi): Tidy. 579 * config/alpha/alpha-protos.h: Update. 580 5812007-04-21 Richard Guenther <[email protected]> 582 583 PR middle-end/31136 584 * fold-const.c (fold_unary): Call fold_convert_const on the 585 original tree. 586 5872007-04-20 Richard Henderson <[email protected]> 588 589 * config/alpha/linux.h (CPP_SPEC): Undef before redefine. 590 5912007-04-20 Bernd Schmidt <[email protected]> 592 593 * reload.c (combine_reloads): When trying to use a dying register, 594 check whether it's uninitialized and don't use if so. 595 5962007-04-20 Jakub Jelinek <[email protected]> 597 598 * config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED 599 for __builtin_ia32_cmpordss. 600 601 PR tree-optimization/31632 602 * fold-const.c (fold_binary): Use op0 and op1 instead of arg0 603 and arg1 for optimizations of comparison against min/max values. 604 Fold arg0 to arg1's type for optimizations of comparison against 605 min+1 and max-1 values. 606 6072007-04-19 Eric Botcazou <[email protected]> 608 609 PR rtl-optimization/29841 610 * cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional 611 trap instructions. 612 * sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions 613 that may cause control flow transfer from being moved. 614 6152007-04-18 Anatoly Sokolov <[email protected]> 616 617 * config/avr/avr.c (ptrreg_to_str): Replace error() with 618 output_operand_lossage(). 619 6202007-04-17 Anatoly Sokolov <[email protected]> 621 622 PR target/30483 623 * config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with 624 error(). 625 6262007-04-17 Jan Hubicka <[email protected]> 627 628 PR middle-end/30700 629 * dwarf2out.c (reference_to_unused): Ask cgraph for functions 630 availablility; add more sanity checking; ask varpool only about 631 VAR_DECL. 632 6332007-04-17 H.J. Lu <[email protected]> 634 635 * Backport from mainline: 636 2007-04-17 H.J. Lu <[email protected]> 637 638 * config/i386/sse.md (sse_vmaddv4sf3): Use register_operand 639 on "0". 640 (sse_vmmulv4sf3): Likewise. 641 (sse2_vmaddv2df3): Likewise. 642 (sse2_vmmulv2df3): Likewise. 643 6442007-04-16 Matthias Klose <[email protected]> 645 646 * config/alpha/linux.h (CPP_SPEC): Define. 647 * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend. 648 6492007-04-16 Anatoly Sokolov <[email protected]> 650 651 * config/avr/avr.c (avr_arch_types): Rearranging array. 652 (enum avr_arch): Add. 653 (avr_mcu_types): Use avr_arch enumeration constants instead of 654 numbers. 655 * config/avr/avr.h (LINK_SPEC): Simplify. 656 6572007-04-16 Jan Hubicka <[email protected]> 658 659 PR target/27869 660 * config/i386/sse.md 661 (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier. 662 (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove. 663 (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier. 664 (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove. 665 6662007-04-16 H.J. Lu <[email protected]> 667 668 * Backport from mainline: 669 2007-04-16 H.J. Lu <[email protected]> 670 671 PR target/31582 672 * config/i386/i386.c (ix86_expand_vec_set_builtin): Make a 673 copy of source, pass it to ix86_expand_vector_set and return 674 it as target. 675 6762007-04-14 Andrew Pinski <[email protected]> 677 678 PR c/31520 679 * c-decl.c (finish_decl): Grab the type of the decl after the call 680 to store_init_value. 681 6822007-04-14 Jakub Jelinek <[email protected]> 683 684 PR c++/25874 685 * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators, 686 post dominators and cleanup cfg before returning. 687 6882007-04-11 John David Anglin <[email protected]> 689 690 * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not 691 null before emitting a .nsubspa directive. 692 6932007-04-08 Anatoly Sokolov <[email protected]> 694 695 PR target/29932 696 * config/avr/predicates.md (io_address_operand): Delete predicate. 697 (low_io_address_operand): Don't use 'mode' argument. 698 (higth_io_address_operand): Rename ... 699 (high_io_address_operand): ... to this. Don't use 'mode' argument. 700 * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust 701 for above change. 702 7032007-04-07 Anatoly Sokolov <[email protected]> 704 705 PR target/30289 706 * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as 707 earlyclobber. 708 7092007-04-05 Anatoly Sokolov <[email protected]> 710 711 PR target/25448 712 * config/avr/avr.c (avr_handle_fndecl_attribute): Use the 713 DECL_ASSEMBLER_NAME, not the DECL_NAME. 714 7152007-04-04 Richard Henderson <[email protected]> 716 717 PR target/31361 718 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove 719 v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di. Use like-types for 720 the variable shift builtins. 721 (ix86_expand_builtin): Properly expand the variable shift builtins. 722 * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make 723 operand 2 be TImode. 724 * config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32, 725 _mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, 726 _mm_srli_epi32, _mm_srli_epi64): Turn into macros. 727 (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions. 728 (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16, 729 _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use 730 two-vector shift builtins. 731 7322007-04-04 Chen liqin <[email protected]> 733 734 * config/score/crti.asm: Change _bss_start to __bss_start. 735 * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added. 736 (OUTGOING_REG_PARM_STACK_SPACE) update. 737 * config/score/score.opt: add options to make backend support 738 score5, score5u, score7 and score7d. 739 * config/score/score.md: Likewise. 740 * config/score/misc.md: Likewise. 741 * config/score/mac.md: Likewise. 742 * doc/invoke.texi: Likewise. 743 * doc/md.texi: update constraints define. 744 7452007-04-03 Stuart Hastings <[email protected]> 746 747 PR 31281 748 * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile 749 from rethrow decl. 750 * cse.c (record_jump_equiv): Bail out on CCmode comparisons. 751 7522007-04-03 Jakub Jelinek <[email protected]> 753 754 PR middle-end/30704 755 * fold-const.c (native_encode_real): Encode real.c provided longs 756 as a series of 32-bit native integers. 757 (native_interpret_real): Interpret buffer as a series of 32-bit 758 native integers. 759 7602007-04-02 Eric Christopher <[email protected]> 761 762 * doc/invoke.texi (i386 and x86-64 Options): Document -m64 763 limitations on darwin. 764 7652007-04-02 Anatoly Sokolov <[email protected]> 766 767 PR target/31137 768 * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements. 769 7702007-04-02 H.J. Lu <[email protected]> 771 772 * Backport from mainline: 773 2007-03-28 Grigory Zagorodnev <[email protected]> 774 775 PR target/31380 776 * config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX. 777 7782007-03-30 Anatoly Sokolov <[email protected]> 779 780 * config/avr/avr.c (avr_override_options): Clear 781 'flag_delete_null_pointer_checks'. 782 7832007-03-29 Michael Matz <[email protected]> 784 785 * builtins.c (expand_builtin_sync_operation, 786 expand_builtin_compare_and_swap, 787 expand_builtin_lock_test_and_set): Care for extending CONST_INTs 788 correctly. 789 790 * config/i386/sync.md (sync_double_compare_and_swapdi_pic, 791 sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint 792 for operand 3. 793 7942007-03-28 Mike Stump <[email protected]> 795 796 * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add. 797 * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix. 798 * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef. 799 8002007-03-27 Anatoly Sokolov <[email protected]> 801 802 * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' 803 architecture. 804 8052007-03-26 Ian Lance Taylor <[email protected]> 806 807 PR tree-optimization/31345 808 * tree-vrp.c (extract_range_from_binary_expr): Turn ranges like 809 [+INF, +INF(OVF)] into VARYING. 810 8112007-03-23 Martin Michlmayr <[email protected]> 812 813 * doc/invoke.texi (-fforce-mem): Update documentation to reflect 814 that this option will be removed in 4.3 rather than 4.2. 815 * opts.c (common_handle_option): Likewise. 816 8172007-03-21 Mike Stump <[email protected]> 818 819 * c.opt: Fixup for Objective-C/C++. 820 8212007-03-21 Richard Henderson <[email protected]> 822 823 PR target/31245 824 * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias. 825 * config/i386/mmintrin.h (__m64): Likewise. 826 * config/i386/xmmintrin.h (__m128): Likewise. 827 8282007-03-20 Jakub Jelinek <[email protected]> 829 830 PR c/30762 831 * c-typeck.c (convert_for_assignment): Call comptypes for 832 RECORD_TYPE or UNION_TYPE. 833 834 PR inline-asm/30505 835 * reload1.c (reload): Do invalid ASM checking after 836 cleanup_subreg_operands. 837 8382007-03-19 Jeff Law <[email protected]> 839 840 * tree-cfg.c (find_taken_edge): Tighten conditions for 841 optimizing computed gotos. 842 8432007-03-16 John David Anglin <[email protected]> 844 845 * pa.c (attr_length_call): Partially revert change of 2007-03-09. 846 (output_call): Likewise. 847 8482007-03-16 Alexandre Oliva <[email protected]> 849 850 PR debug/29906 851 * dwarf2out.c (force_type_die): Adjust comment. 852 (dwarf2out_imported_module_or_decl): Handle base AT_import types. 853 8542007-03-15 Seongbae Park <[email protected]> 855 856 PR tree-optimization/30590 857 * tree-nrv.c (tree_nrv): Check for the partial update 858 of the return value. 859 8602007-03-14 Ian Lance Taylor <[email protected]> 861 862 * tree-vrp.c (value_inside_range): Ignore fold warnings. 863 8642007-03-13 John David Anglin <[email protected]> 865 866 PR target/31123 867 * pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for 868 two unamed patterns. 869 8702007-03-12 Brooks Moses <[email protected]> 871 872 * doc/extend.texi: Edit "gnu_inline" documentation. 873 * doc/invoke.texi: Edit "-fgnu89-inline" documentation. 874 8752007-03-12 Brooks Moses <[email protected]> 876 877 * doc/extend.texi: Fix cpp.info cross-reference. 878 * doc/invoke.texi: Fix cpp.info cross-reference. 879 * doc/passes.texi: Fix gcc.info cross-reference. 880 8812007-03-12 Daniel Berlin <[email protected]> 882 883 Fix PR tree-optimization/28544 884 * tree-ssa-operands.c (add_virtual_operand): 885 Move assert triggering on aliasing violations into 886 debugging define 887 8882007-03-12 Ian Lance Taylor <[email protected]> 889 890 * c.opt (fgnu89-inline): New option. 891 * c-opts.c (c_common_post_options): Warn about -fno-gnu89-inline. 892 * c-common.c (c_common_attributes): Add gnu_inline attribyte. 893 (handle_gnu_inline_attribute): New static function. 894 * c-decl.c (start_function): Warn if we see a non-static inline 895 function in C99 mode. 896 * c-cppbuiltin.c (c_cpp_builtins): Define __GNUC_GNU_INLINE__. 897 * doc/invoke.texi (Option Summary): Mention -fgnu89-inline. 898 (C Dialect Options): Document -fgnu89-inline. 899 * doc/extend.texi (Function Attributes): Document gnu_inline. 900 (Inline): Mention that C99 inline will be implemented in 4.3. 901 Refer to ways to get the old handling. 902 * doc/cpp.texi (Common Predefined Macros): Document 903 __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__. 904 9052007-03-12 Richard Henderson <[email protected]> 906 907 * config/alpha/alpha.c (alpha_elf_section_type_flags): New. 908 (TARGET_SECTION_TYPE_FLAGS): New. 909 9102007-03-12 Richard Henderson <[email protected]> 911 912 * config/darwin.c (machopic_reloc_rw_mask): New. 913 (machopic_select_section): Use decl_readonly_section. 914 * config/darwin-protos.h (machopic_reloc_rw_mask): Declare. 915 * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New. 916 9172007-02-14 Richard Guenther <[email protected]> 918 919 Backport from mainline: 920 * flags.h (issue_strict_overflow_warning): Convert to a macro. 921 9222007-03-11 Ian Lance Taylor <[email protected]> 923 924 Backport -fstrict-overflow/-Wstrict-overflow from mainline: 925 2007-03-11 Ian Lance Taylor <[email protected]> 926 927 * tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and 928 the *_DIV_EXPR codes correctly with overflow infinities. 929 930 2007-03-09 Ian Lance Taylor <[email protected]> 931 932 * opts.c (common_handle_option): Treat -Wstrict-overflow (with no 933 argument) like -Wstrict-overflow=2. 934 * doc/invoke.texi (Warning Options): Update documentation. 935 936 2007-03-08 Ian Lance Taylor <[email protected]> 937 938 * tree-vrp.c: Include "toplev.h" and "intl.h". 939 (usable_range_p): New static function. 940 (compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for 941 overflowed values, juts set *strict_overflow_p. 942 (compare_values): Only return -2 if one of the operands is not a 943 constant. 944 (compare_ranges): Call usable_range_p. 945 (compare_range_with_value): Likewise. 946 (vrp_evaluate_conditional_warnv): Rename from 947 vrp_evaluate_conditional. Make static. Change all callers. 948 (vrp_evaluate_conditional): New function. 949 (simplify_div_or_mod_using_ranges): Issue warning about reliance 950 on signed overflow. 951 (simplify_abs_using_ranges): Likewise. 952 (simplify_stmt_for_jump_threading): Add within_stmt parameter. 953 * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add 954 within_stmt parameter. 955 * tree-ssa-propagate.c (fold_predicate_in): Update call to 956 vrp_evaluate_conditional. 957 * tree-ssa-threadedge.c 958 (record_temporary_equivalences_from_stmts_at_dest): Change 959 simplify parameter to take a second tree parameter. 960 (simplify_control_stmt_condition): Likewise. 961 (thread_across_edge): Likewise. 962 * tree-flow.h (vrp_evaluate_conditional): Update declaration. 963 (thread_across_edge): Likewise. 964 * Makefile.in (tree-vrp.o): Depend upon toplev.h and intl.h. 965 966 2007-03-05 Ian Lance Taylor <[email protected]> 967 968 * tree-vrp.c (extract_range_from_assert): Don't try to handle a 969 half-range if the other side is an overflow infinity. 970 971 2007-03-02 Ian Lance Taylor <[email protected]> 972 973 Used signed infinities in VRP. 974 * tree-vrp.c (uses_overflow_infinity): New static function. 975 (supports_overflow_infinity): New static function. 976 (make_overflow_infinity): New static function. 977 (negative_overflow_infinity): New static function. 978 (positive_overflow_infinity): New static function. 979 (is_negative_overflow_infinity): New static function. 980 (is_positive_overflow_infinity): New static function. 981 (is_overflow_infinity): New static function. 982 (overflow_infinity_range_p): New static function. 983 (compare_values_warnv): New function split out of compare_values. 984 (compare_value): Call it. 985 (set_value_range_to_nonnegative): Add overflow_infinity 986 parameter. Change caller. 987 (vrp_expr_computes_nonnegative): Add strict_overflow_p parameter. 988 Change callers. 989 (vrp_expr_computes_nonzero): Likewise. 990 (compare_ranges, compare_range_with_value): Likewise. 991 (compare_name_with_value, compare_names): Likewise. 992 (vrp_evaluate_conditional): Likewise. 993 (set_value_range): Handle infinity 994 (vrp_operand_equal_p, operand_less_p): Likewise. 995 (extract_range_from_assert): Likewise. 996 (vrp_int_const_binop): Likewise. 997 (extract_range_from_binary_expr): Likewise. 998 (extract_range_from_unary_expr): Likewise. 999 (extract_range_from_comparison): Likewise. 1000 (extract_range_from_expr): Likewise. 1001 (dump_value_range): Likewise. 1002 (vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise. 1003 (test_for_singularity): Likewise. 1004 (vrp_int_const_binop): Remove inline qualifier. 1005 (adjust_range_with_scev): Add comment. 1006 * tree-flow.h (vrp_evaluate_conditional): Update declaration. 1007 1008 2007-02-13 Ian Lance Taylor <[email protected]> 1009 1010 * common.opt: Add Wstrict-overflow and Wstrict-overflow=. 1011 * flags.h (warn_strict_overflow): Declare. 1012 (enum warn_strict_overflow_code): Define. 1013 (issue_strict_overflow_warning): New static inline function. 1014 * opts.c (warn_strict_overflow): New variable. 1015 (common_handle_option): Handle OPT_Wstrict_overflow and 1016 OPT_Wstrict_overflow_. 1017 * c-opts.c (c_common_handle_option): Set warn_strict_overflow for 1018 OPT_Wall. 1019 * fold-const.c: Include intl.h. 1020 (fold_deferring_overflow_warnings): New static variable. 1021 (fold_deferred_overflow_warning): New static variable. 1022 (fold_deferred_overflow_code): New static variable. 1023 (fold_defer_overflow_warnings): New function. 1024 (fold_undefer_overflow_warnings): New function. 1025 (fold_undefer_and_ignore_overflow_warnings): New function. 1026 (fold_deferring_overflow_warnings_p): New function. 1027 (fold_overflow_warning): New static function. 1028 (make_range): Add strict_overflow_p parameter. Change all 1029 callers. 1030 (extract_muldiv, extract_muldiv_1): Likewise. 1031 (fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling 1032 tree_expr_nonnegative_p. 1033 (fold_negate_expr): Call fold_overflow_warning. 1034 (fold_range_test): Likewise. 1035 (fold_comparison): Likewise. 1036 (fold_binary): Likewise. Call tree_expr_nonnegative_warnv_p 1037 instead of tree_expr_nonnegative_p. 1038 (tree_expr_nonnegative_warnv_p): Rename from 1039 tree_expr_nonnegative_p, add strict_overflow_p parameter. 1040 (tree_expr_nonnegative_p): New function. 1041 (tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add 1042 strict_overflow_p parameter. 1043 (tree_expr_nonzero_p): New function. 1044 * passes.c (verify_interpass_invariants): New static function. 1045 (execute_one_pass): Call it. 1046 * tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold 1047 warnings. 1048 (number_of_iterations_exit, loop_niter_by_eval): Likewise. 1049 (estimate_numbers_of_iterations): Likewise. 1050 (scev_probably_wraps_p): Likewise. 1051 * tree-ssa-ccp.c: Include "toplev.h". 1052 (evaluate_stmt): Defer fold overflow warnings until we know we are 1053 going to optimize. 1054 (struct fold_stmt_r_data): Add stmt field. 1055 (fold_stmt_r): Defer fold overflow warnings until we know we 1056 optimized. 1057 (fold_stmt): Initialize stmt field of fold_stmt_r_data. 1058 (fold_stmt_inplace): Likewise. 1059 * tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h". 1060 (cleanup_control_expr_graph): Defer fold overflow warnings until 1061 we know we are going to optimize. 1062 * tree-cfg.c (fold_cond_expr_cond): Likewise. 1063 * tree-ssa-threadedge.c (simplify_control_stmt_condition): 1064 Likewise. 1065 * tree-vrp.c (vrp_expr_computes_nonnegative): Call 1066 tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p. 1067 * tree-ssa-loop-manip.c (create_iv): Likewise. 1068 * c-typeck.c (build_conditional_expr): Likewise. 1069 (build_binary_op): Likewise. 1070 * tree-vrp.c (vrp_expr_computes_nonzero): Call 1071 tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p. 1072 (extract_range_from_unary_expr): Likewise. 1073 * simplify-rtx.c (simplify_const_relational_operation): Warn when 1074 assuming that signed overflow does not occur. 1075 * c-common.c (pointer_int_sum): Ignore fold overflow warnings. 1076 * tree.h (tree_expr_nonnegative_warnv_p): Declare. 1077 (fold_defer_overflow_warnings): Declare. 1078 (fold_undefer_overflow_warnings): Declare. 1079 (fold_undefer_and_ignore_overflow_warnings): Declare. 1080 (fold_deferring_overflow_warnings_p): Declare. 1081 (tree_expr_nonzero_warnv_p): Declare. 1082 * doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list 1083 of warning options. 1084 (Warning Options): Document -Wstrict-overflow. 1085 * Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h. 1086 (tree-ssa-ccp.o): Likewise. 1087 (tree-cfgcleanup.o): Change errors.h dependency to toplev.h. 1088 (fold-const.o): Depend on intl.h. 1089 1090 2007-01-27 Ian Lance Taylor <[email protected]> 1091 1092 * common.opt: Add fstrict-overflow. 1093 * opts.c (decode_options): Set flag_strict_overflow if -O2. 1094 * flags.h (TYPE_OVERFLOW_WRAPS): Define. 1095 (TYPE_OVERFLOW_UNDEFINED): Define. 1096 (TYPE_OVERFLOW_TRAPS): Define. This replaces TYPE_TRAP_SIGNED. 1097 Replace all uses. 1098 * tree.h (TYPE_TRAP_SIGNED): Don't define. 1099 * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED. 1100 (fold_negate_expr): Likewise. 1101 (make_range): Likewise. 1102 (extract_muldiv_1): Likewise. 1103 (fold_comparison): Likewise. 1104 (fold_binary): Likewise. 1105 (tree_expr_nonnegative_p): Likewise. 1106 (tree_expr_nonzero_p): Likewise. 1107 * tree-vrp.c (compare_values): Likewise. 1108 (extract_range_from_binary_expr): Likewise. 1109 (extract_range_from_unary_expr): Likewise. 1110 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): 1111 Likewise. 1112 (nowrap_type_p): Likewise. 1113 * tree-scalar-evolution.c (simple_iv): Likewise. 1114 * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS. 1115 (build_range_check): Likewise. 1116 (extract_muldiv_1): Likewise. 1117 (fold_comparison): Likewise. 1118 * tree-vrp.c (vrp_int_const_binop): Likewise. 1119 (extract_range_from_unary_expr): Likewise. 1120 * convert.c (convert_to_integer): Likewise. 1121 * fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS. 1122 (fold_comparison): Likewise. 1123 (fold_binary): Likewise. 1124 * optabs.c (optab_for_tree_code): Likewise. 1125 * tree-vectorizer.c (vect_is_simple_reduction): Likewise. 1126 * simplify-rtx.c (simplify_const_relational_operation): Check 1127 flag_strict_overflow and flag_trapv. 1128 (simplify_const_relational_operation): Likewise. 1129 * doc/invoke.texi (Option Summary): Mention -fstrict-overflow. 1130 (Optimize Options): Add -fstrict-overflow to -O2 list. Document 1131 -fstrict-overflow. 1132 1133 2007-01-17 Ian Lance Taylor <[email protected]> 1134 1135 * vec.h (VEC_reserve_exact): Define. 1136 (vec_gc_p_reserve_exact): Declare. 1137 (vec_gc_o_reserve_exact): Declare. 1138 (vec_heap_p_reserve_exact): Declare. 1139 (vec_heap_o_reserve_exact): Declare. 1140 (VEC_OP (T,A,reserve_exact)): New static inline function, three 1141 versions. 1142 (VEC_OP (T,A,reserve)) [all versions]: Remove handling of 1143 negative parameter. 1144 (VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact. 1145 (VEC_OP (T,A,copy)) [all versions]: Likewise. 1146 (VEC_OP (T,a,safe_grow)) [all versions]: Likewise. 1147 * vec.c (calculate_allocation): Add exact parameter. Change all 1148 callers. 1149 (vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve. 1150 (vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1. 1151 (vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions. 1152 (vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve. 1153 (vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1. 1154 (vec_heap_p_reserve_exact): New function. 1155 (vec_heap_o_reserve_exact): New function. 1156 11572007-03-11 Roger Sayle <[email protected]> 1158 Andrew Pinski <[email protected]> 1159 1160 PR middle-end/30433 1161 * fold-const.c (fold_relational_const): Add back compile-time 1162 evaluation of complex constant equality/inequality comparisons. 1163 11642007-03-11 Ira Rosen <[email protected]> 1165 1166 PR tree-optimization/29925 1167 * tree-data-ref.c (analyze_offset): Add a return value (bool) to 1168 indicate success/failure of the analysis. Add negation to subtrahend 1169 in case of subtraction. Fail if both operands contain constants. 1170 (create_data_ref): Fail if analyze_offset fails. 1171 11722007-03-10 Mark Mitchell <[email protected]> 1173 1174 PR c++/30924 1175 * tree.c (walk_type_fields): Recurse into the element type of 1176 ARRAY_TYPEs if there is a pointer set. 1177 11782007-03-09 John David Anglin <[email protected]> 1179 1180 * pa.c (attr_length_call): Revise condition for long pc-relative branch. 1181 (output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local 1182 calls on the SOM target. Don't use "LONG_PIC_PCREL" call sequence on 1183 SOM target. 1184 11852007-03-09 Richard Henderson <[email protected]> 1186 1187 PR target/26090 1188 * target.h (targetm.asm.out.reloc_rw_mask): New. 1189 * target-def.h (TARGET_ASM_RELOC_RW_MASK): New. 1190 (TARGET_ASM_OUT): Use it. 1191 * targhooks.c, targhooks.h (default_reloc_rw_mask): New. 1192 * varasm.c (categorize_decl_for_section): Remove shlib argument; 1193 use the new reloc_rw_mask target hook instead. 1194 (default_section_type_flags_1): Merge into... 1195 (default_section_type_flags): ... here. 1196 (decl_readonly_section_1): Merge into... 1197 (decl_readonly_section): ... here. 1198 (default_elf_select_section_1): Merge into... 1199 (default_elf_select_section): ... here. 1200 (default_unique_section_1): Merge into... 1201 (default_unique_section): ... here. 1202 (compute_reloc_for_rtx_1, compute_reloc_for_rtx): New. 1203 (default_select_rtx_section): Use it. 1204 (default_elf_select_rtx_section): Likewise. 1205 * output.h: Update to match. 1206 * doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New. 1207 * config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New. 1208 (TARGET_ASM_RELOC_RW_MASK): New. 1209 * config/i386/i386.c (x86_64_elf_select_section): Adjust call 1210 to categorize_decl_for_section. 1211 (x86_64_elf_unique_section): Likewise. 1212 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION, 1213 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove. 1214 (TARGET_ASM_RELOC_RW_MASK): New. 1215 * config/ia64/ia64.c (ia64_rwreloc_select_section, 1216 ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove. 1217 (ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New. 1218 (TARGET_RWRELOC): Remove. 1219 (ia64_section_type_flags): Adjust call to default_section_type_flags. 1220 * config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New. 1221 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove. 1222 (rs6000_elf_select_section, rs6000_elf_unique_section): Remove. 1223 (rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New. 1224 (rs6000_xcoff_select_section): Use decl_readonly_section. 1225 (rs6000_xcoff_section_type_flags): Use default_section_type_flags. 1226 * config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New. 1227 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove. 1228 (TARGET_SECTION_TYPE_FLAGS): Remove. 1229 * config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New. 1230 12312007-03-08 Geoffrey Keating <[email protected]> 1232 1233 PR 31013 1234 * gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME 1235 is declared. 1236 * config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is 1237 passed, use shared libgcc. 1238 12392007-03-09 Alexandre Oliva <[email protected]> 1240 1241 PR rtl-optimization/30643 1242 * cse.c (cse_insn): Recompute dest_hash after insert_regs for 1243 dest_addr_elt. 1244 12452007-03-09 Andrew Pinski <[email protected]> 1246 1247 PR tree-opt/30045 1248 * tree-vrp.c (nonnull_arg_p): Treat the static decl as always 1249 non null. 1250 12512007-03-09 Andrew Pinski <[email protected]> 1252 1253 PR middle-end/30729 1254 * stmt.c (warn_if_unused_value): VA_ARG_EXPR has side 1255 effects unknown to this function, return early. 1256 12572007-03-09 Andrew Pinski <[email protected]> 1258 1259 PR tree-opt/28624 1260 * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary 1261 bitmap for EXECUTE_IF_SET_IN_BITMAP. 1262 12632006-03-09 Mark Shinwell <[email protected]> 1264 Andrew MacLeod <[email protected]> 1265 PR tree-optimization/29877 1266 * tree-outof-ssa.c (check_replaceable): Don't allow TER to replace 1267 an expression if the RHS is a register variable. 1268 12692007-03-08 Andrew Pinski <[email protected]> 1270 1271 PR C/31072 1272 * c-decl.c (merge_decls): Don't call make_var_volatile. 1273 * varasm.c (make_var_volatile): Remove. 1274 * output.h (make_var_volatile): Remove. 1275 12762007-03-08 Kaveh R. Ghazi <[email protected]> 1277 1278 * builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl, 1279 llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with 1280 ATTR_CONST_NOTHROW_LIST. 1281 1282 * fold-const.c (tree_expr_nonnegative_p): Handle FIX_TRUNC_EXPR. 1283 12842007-03-08 Andrew Pinski <[email protected]> 1285 1286 PR target/30406 1287 * config/rs6000/rs6000.c (rs6000_function_value): Look at bit size 1288 instead of precision. 1289 12902007-03-08 Volker Reichelt <[email protected]> 1291 1292 PR c++/30852 1293 * c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR. 1294 12952007-03-07 Manuel Lopez-Ibanez <[email protected]> 1296 1297 * c.opt (Waddress): New. 1298 * common.opt (Walways-true): Delete. 1299 (Wstring-literal-comparison): Delete. 1300 * doc/invoke.texi (Warning Options): Delete -Walways-true and 1301 -Wstring-literal-comparison. Add -Waddress. 1302 (Waddress): New. 1303 (Walways-true): Delete. 1304 (Wstring-literal-comparison): Delete. 1305 * doc/extend.texi (#pragma GCC diagnostic): Use -Wformat 1306 consistently instead of -Walways-true in example. 1307 * c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall. 1308 * c-typeck.c (parser_build_binary_op): Replace 1309 -Wstring-literal-comparison and -Walways-true with -Waddress. 1310 (build_binary_op): Likewise. 1311 * c-common.c (c_common_truthvalue_conversion): Likewise. 1312 13132007-03-07 Richard Henderson <[email protected]> 1314 1315 PR target/30848 1316 * reg-stack.c (emit_swap_insn): If a malformed asm was seen, 1317 silently fix up the stack in the case of a missing register. 1318 13192007-03-06 David Daney <[email protected]> 1320 1321 * doc/install.texi (mips-*-*): Change recommended binutils 1322 version. 1323 13242007-03-06 Manuel Lopez-Ibanez <[email protected]> 1325 1326 * doc/invoke.texi (Warning Options): Replace -Werror- with 1327 -Werror=. 1328 * opts.c (common_handle_option): Likewise. 1329 13302007-03-06 Anatoly Sokolov <[email protected]> 1331 1332 * config/avr/avr.c (avr_mcu_types): Add support for ATmega325P, 1333 ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162 1334 devices. 1335 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). 1336 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). 1337 13382007-03-06 Roger Sayle <[email protected]> 1339 1340 PR middle-end/30744 1341 * fold-const.c (fold_binary) <EQ_EXPR>: Enforce type consistency 1342 when transforming ~X op C to X op' ~C. 1343 13442007-03-05 John David Anglin <[email protected]> 1345 1346 * pa.md: In unamed move patterns, disparge copies between general 1347 and floating point registers using '?' modifier. Don't include 'f' 1348 constraint for register preferences in DImode, SImode, HImode and 1349 QImode patterns. Likewise for 'r' in DFmode and SFmode patterns. 1350 Remove constraints for copies between general and floating registers 1351 in soft-float DFmode pattern. 1352 (movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard 1353 floating register. 1354 (movsf): Likewise. 1355 13562007-03-05 Kaveh R. Ghazi <[email protected]> 1357 1358 * convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint 1359 conversion. 1360 13612007-03-05 Steve Ellcey <[email protected]> 1362 1363 Backported from mainline 1364 PR debug/29614 1365 * cgraph.h (cgraph_varpool_last_needed_node): Make global. 1366 * cgraph.c (cgraph_varpool_last_needed_node): Ditto. 1367 * cgraphunit.c (cgraph_varpool_assemble_pending_decls): 1368 Set cgraph_varpool_last_needed_node to NULL. 1369 13702007/03/05 David Taylor <[email protected]> 1371 1372 PR 31050 1373 * gcc.c: Correct copyright date in --version output. 1374 13752007-03-05 Brooks Moses <[email protected]> 1376 1377 * c.opt: Remove -ffixed-form, -ffixed-line-length-none, and 1378 -ffixed-line-length-* options. 1379 13802007-03-05 David Edelsohn <[email protected]> 1381 1382 * config/rs6000/t-ppccomm: Always build libgcc2 for GNU/Linux 1383 with -mlong-double-128, except SPE. 1384 1385 * config/rs6000/darwin-ldouble.c: Only build new functions for 1386 __LONG_DOUBLE_128__. 1387 1388 Backport from mainline: 1389 2007-01-16 David Edelsohn <[email protected]> 1390 1391 * config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT. 1392 (strong_alias): Define. 1393 (__gcc_qmul): Provide non-FMA for soft-float. 1394 (__gcc_qdiv): Same. 1395 (__gcc_qneg): New. 1396 (__gcc_qeq): New. 1397 (__gcc_qle): New. 1398 (__gcc_qge): New. 1399 (__gcc_qunord): New. 1400 (__gcc_stoq): New. 1401 (__gcc_dtoq): New. 1402 (__gcc_qtos): New. 1403 (__gcc_qtod): New. 1404 (__gcc_qtoi): New. 1405 (__gcc_qtou): New. 1406 (__gcc_itoq): New. 1407 (__gcc_utoq): New. 1408 (fmsub): New. 1409 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize 1410 soft-float functions. 1411 * config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols. 1412 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn 1413 about long double soft float. 1414 14152007-03-05 Richard Guenther <[email protected]> 1416 1417 Backport from mainline: 1418 2007-02-28 Richard Guenther <[email protected]> 1419 1420 PR middle-end/30364 1421 * fold-const.c (fold_binary): Do not associate expressions 1422 with more than one variable for integer types that do not wrap. 1423 14242007-03-04 Eric Botcazou <[email protected]> 1425 1426 PR ada/26797 1427 * doc/invoke.texi (-O2): Document that Tree-VRP is not turned on 1428 for the Ada compiler. 1429 14302007-03-02 Zdenek Dvorak <[email protected]> 1431 1432 PR tree-optimization/29902 1433 * tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if 1434 any involved ssa name appears in abnormal phi node. 1435 14362007-03-02 Eric Botcazou <[email protected]> 1437 1438 * tree-sra.c (sra_walk_fns) <ldst>: Document new restriction. 1439 (sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use 1440 if the lhs has side-effects. 1441 <lhs_elt>: Treat the reference as a use if the rhs has side-effects. 1442 14432007-03-02 Paul Brook <[email protected]> 1444 1445 * config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing 1446 modes to LDRD for DImode. 1447 (output_move_double): Fixup out of range ldrd/strd. 1448 (vfp_secondary_reload_class): Rename... 1449 (coproc_secondary_reload_class): ... to this. Add wb argument. 1450 * config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use 1451 coproc_secondary_reload_class for CLASS_IWMMXT. 1452 (SECONDARY_INPUT_RELOAD_CLASS): Ditto. 1453 * arm-protos.h (coproc_secondary_reload_class): Update prototype. 1454 14552007-03-02 Eric Botcazou <[email protected]> 1456 1457 * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the 1458 entry by means of emit_insn_at_entry. 1459 14602007-03-01 Manuel Lopez-Ibanez <[email protected]> 1461 1462 * doc/invoke.texi (Wextra): Delete outdated paragraph. 1463 14642007-02-27 John David Anglin <[email protected]> 1465 1466 * pa/predicates.md (move_src_operand): Allow zero for mode. 1467 * pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode 1468 move pattern. 1469 14702007-02-27 Mike Stump <[email protected]> 1471 1472 * config/darwin-crt3.c: Avoid compilation when compiling for a 1473 kext multilib. 1474 14752007-02-27 Andreas Schwab <[email protected]> 1476 1477 * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi. 1478 14792007-02-26 Brooks Moses <[email protected]> 1480 1481 * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency. 1482 14832007-02-26 Brooks Moses <[email protected]> 1484 1485 * doc/include/gcc-common.texi (versionsubtitle): New macro. 1486 * doc/cpp.texi: Standardize title page. 1487 * doc/cppinternals.texi: Likewise. 1488 * doc/gcc.texi: Standardize title page, remove version number 1489 from copyright page. 1490 * doc/gccint.texi: Likewise. 1491 * doc/install.texi: Standardize title page, add table of 1492 contents. 1493 14942007-02-24 Mike Stump <[email protected]> 1495 1496 * config/i386/i386.c (output_pic_addr_const): Stubify optimized 1497 symbols. 1498 14992007-02-24 John David Anglin <[email protected]> 1500 1501 * pa.md (muldi3): Force subregs to registers in 64-bit expander. 1502 15032007-02-23 Mike Stump <[email protected]> 1504 1505 * tlink.c (scan_linker_output): Parse linker messages from 1506 darwin9's linker better. 1507 15082007-02-21 Ira Rosen <[email protected]> 1509 1510 * tree-ssa-alias.c: Include pointer-set.h 1511 * Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h. 1512 15132007-02-21 Jakub Jelinek <[email protected]> 1514 1515 Backported from mainline 1516 2006-12-20 Andrew Pinski <[email protected]> 1517 PR middle-end/30143 1518 * omp-low.c (init_tmp_var): New function. 1519 (save_tmp_var): New function. 1520 (lower_omp_1): Use them for VAR_DECL. 1521 15222007-02-20 Alan Modra <[email protected]> 1523 1524 PR target/29943 1525 * varasm.c (use_blocks_for_decl_p): Return false for decls with 1526 alias attribute. 1527 15282007-02-19 Eric Botcazou <[email protected]> 1529 1530 * gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap 1531 due to calls to functions taking pointers as parameters. 1532 15332007-02-19 Richard Henderson <[email protected]> 1534 1535 PR debug/29558 1536 * var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P 1537 in memory. 1538 15392007-02-18 Eric Botcazou <[email protected]> 1540 1541 * tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR. 1542 15432007-02-18 Eric Botcazou <[email protected]> 1544 1545 * calls.c (mem_overlaps_already_clobbered_arg_p): Return true 1546 for arg pointer based indexed addressing. 1547 15482007-02-18 Ira Rosen <[email protected]> 1549 1550 * tree-ssa-alias.c (may_aliases_intersect): New function. 1551 * tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect 1552 for different tags. 1553 * tree-flow.h (may_aliases_intersect): Add function declaration. 1554 15552007-02-17 Alexandre Oliva <[email protected]> 1556 1557 PR tree-optimization/30823 1558 * tree-sra.c (sra_build_assignment): Drop type-checking assert. 1559 15602007-02-16 Ralf Wildenhues <[email protected]> 1561 1562 PR other/27843 1563 * Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid 1564 nested double- and backquotes. 1565 15662007-02-15 Alexandre Oliva <[email protected]> 1567 1568 * tree-sra.c (instantiate_missing_elements): Canonicalize 1569 bit-field types. 1570 (sra_build_assignment): New. 1571 (generate_copy_inout, generate_element_copy, 1572 generate_element_zero, generate_one_element_init): Use it. 1573 15742007-02-15 Kaz Kojima <[email protected]> 1575 1576 PR rtl-optimization/29599 1577 Backport from mainline. 1578 * reload1.c (eliminate_regs_in_insn): Take the destination 1579 mode into account when computing the offset. 1580 15812007-02-13 Joseph S. Myers <[email protected]> 1582 1583 * doc/invoke.texi, doc/standards.texi: Refer to 1584 gcc-4.2/c99status.html. 1585 15862007-02-10 John David Anglin <[email protected]> 1587 1588 PR target/30634 1589 * pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero 1590 CONST_DOUBLE and operand 0 is a hard register. 1591 (movdi): For 64-bit target, remove code to force CONST_DOUBLE to 1592 memory. Fail if operand 1 is a non-zero CONST_INT and operand 0 1593 is a hard floating-point register. 1594 15952007-02-06 Mark Mitchell <[email protected]> 1596 1597 PR target/29487 1598 * tree.h (DECL_REPLACEABLE_P): New macro. 1599 * except.c (set_nothrow_function_flags): Likewise. 1600 16012007-02-07 Jakub Jelinek <[email protected]> 1602 1603 PR c++/30703 1604 * gimplify.c (gimplify_scan_omp_clauses): Remove special casing 1605 of INDIRECT_REF <RESULT_DECL>. 1606 16072007-02-06 Rask Ingemann Lamberisen <[email protected]> 1608 1609 PR 30370 1610 * config/rs6000/t-ppccomm: Correct Makefile typo. 1611 16122007-02-06 Roger Sayle <[email protected]> 1613 1614 PR libgomp/28296 1615 Backport from mainline. 1616 * config/darwin.h (CPP_SPEC): Handle -pthread, transforming 1617 it into -D_REENTRANT. 1618 16192007-02-05 Alexandre Oliva <[email protected]> 1620 1621 PR debug/30189 1622 * dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE 1623 even if cv-qualification is the same. 1624 16252007-02-05 Geoffrey Keating <[email protected]> 1626 1627 * config/rs6000/darwin-tramp.asm (__trampoline_setup): Call 1628 __enable_execute_stack on completion. 1629 16302007-02-05 Bob Wilson <[email protected]> 1631 1632 * config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs. 1633 16342007-02-02 Maxim Kuvyrkov <[email protected]> 1635 1636 PR target/29682 1637 * config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to 1638 general or fp registers. Add comments. 1639 * config/ia64/ia64.md (reg_pred_prefix): Add comment. 1640 16412007-02-04 Richard Guenther <[email protected]> 1642 1643 Backport from mainline: 1644 2007-01-30 Richard Guenther <[email protected]> 1645 1646 PR middle-end/27657 1647 * dwarf2out.c (reference_to_unused): Query varpool if the 1648 variable was output. 1649 16502007-02-02 Mike Stump <[email protected]> 1651 1652 * config.gcc (*-*-darwin*): Backport darwin9.h bits. 1653 * config/darwin9.h: Add. 1654 * config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add. 1655 (output_call): Use DARWIN_GENERATE_ISLANDS to decide when to 1656 generate a branch island. 1657 16582007-02-02 Hui-May Chang <[email protected]> 1659 1660 Revert for x86 darwin: 1661 2005-06-19 Uros Bizjak <[email protected]> 1662 1663 * config/i386/i386.c (ix86_function_arg_regno_p): Put back the 1664 code before the following patch under TARGET_MACHO. 1665 (ix86_function_value_regno_p): Likewise. 1666 16672007-02-02 Simon Martin <[email protected]> 1668 1669 PR c++/28266 1670 * gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is 1671 expanded only once even if an error occurs. 1672 16732007-02-02 Jakub Jelinek <[email protected]> 1674 1675 PR middle-end/30473 1676 * builtins.c (fold_builtin_sprintf): Do not attempt to optimize 1677 sprintf (str, "%s"). Do not optimize sprintf (str, "nopercent", p++). 1678 16792007-02-01 Guy Martin <[email protected]> 1680 1681 * pa.md (tp_load): Correct mfctl instruction syntax. 1682 16832007-02-01 Geoffrey Keating <[email protected]> 1684 1685 * config/rs6000/rs6000.c (rs6000_stack_info): Correct 1686 altivec_padding_size calculation on AIX. Improve comment, add 1687 assert to verify that it's right. 1688 16892007-01-31 Anatoly Sokolov <[email protected]> 1690 1691 PR target/19087 1692 * config/avr/avr.c (DWARF2_ADDR_SIZE): Define. 1693 16942007-01-30 Richard Guenther <[email protected]> 1695 1696 PR middle-end/30313 1697 * passes.c (execute_one_pass): Reset in_gimple_form to not 1698 confuse non-unit-at-a-time mode. 1699 17002007-01-27 Anatoly Sokolov <[email protected]> 1701 1702 * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_MUL__. 1703 17042007-01-29 Mike Stump <[email protected]> 1705 1706 * doc/gccint.texi (Top): Rename Loop Representation to Loop 1707 Analysis and Representation to resolve case insensitive conflict. 1708 * doc/loop.texi (Loop Analysis and Representation): Likewise. 1709 17102007-01-29 Josh Conner <[email protected]> 1711 1712 PR middle-end/29683 1713 * calls.c (compute_argument_addresses): Set stack and stack_slot 1714 for partial args, too. 1715 (store_one_arg): Use locate.size.constant for the size when 1716 generating a save_area. 1717 17182007-01-28 Ralf Wildenhues <[email protected]> 1719 1720 * doc/sourcebuild.texi: Add comma for clarity. 1721 * doc/extend.texi: Fix some typos. 1722 * doc/passes.texi: Likewise. 1723 * doc/cppinternals.texi: Likewise. 1724 * doc/c-tree.texi: Likewise. 1725 * doc/tree-ssa.texi: Likewise. 1726 * doc/install.texi: Likewise. 1727 17282007-01-26 Zdenek Dvorak <[email protected]> 1729 1730 PR tree-optimization/29516 1731 * tree-ssa-address.c (tree_mem_ref_addr, add_to_parts, 1732 most_expensive_mult_to_index, addr_to_parts, 1733 create_mem_ref, maybe_fold_tmr): Make the type of 1734 fields of TARGET_MEM_REF sizetype. 1735 (move_fixed_address_to_symbol, move_pointer_to_base, 1736 aff_combination_remove_elt): New functions. 1737 * tree.def (TARGET_MEM_REF): Add comment on types of 1738 the operands. 1739 * gcc.dg/tree-ssa/loop-20.c: New test. 1740 17412007-01-25 Geoffrey Keating <[email protected]> 1742 1743 PR 25127 1744 * config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin, 1745 save Altivec registers in an eh_return function. 1746 (compute_vrsave_mask): Likewise. 1747 (rs6000_stack_info): Correct AIX/Darwin stack alignment computation 1748 for saving Altivec registers. 1749 (rs6000_emit_prologue): Don't allocate stack twice in 1750 eh_return function. Correct expected value of altivec_save_offset 1751 when using save_world. Describe save of R0 to stack when using 1752 save_world. Describe stack pointer adjustment when using 1753 save_world. Remove duplicated eh_return parameter register saving. 1754 Update sp_offset variable after save_world. 1755 * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove 1756 darwin-world.asm. 1757 (LIB2FUNCS_EXTRA): Add darwin-world.asm. 1758 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64 1759 implies Altivec. 1760 17612007-01-24 Geoffrey Keating <[email protected]> 1762 1763 * unwind-dw2.c (execute_stack_op): Handle DW_OP_swap. 1764 17652007-01-24 Jakub Jelinek <[email protected]> 1766 1767 PR middle-end/27416 1768 * gimplify.c (omp_check_private): New function. 1769 (gimplify_scan_omp_clauses): Use it for 1770 firstprivate/lastprivate/reduction. 1771 1772 PR middle-end/30494 1773 * gimplify.c (omp_add_variable): Don't call omp_notice_variable 1774 on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs. 1775 1776 PR middle-end/30421 1777 * omp-low.c (lower_omp_for_lastprivate): Add dlist argument. 1778 If lower_lastprivate_clauses emits some statements, append them 1779 to dlist rather than body_p and to body_p append an initializer. 1780 (lower_omp_for): Adjust caller. 1781 17822007-01-21 Eric Botcazou <[email protected]> 1783 1784 PR rtl-optimization/29329 1785 * combine.c (replaced_rhs_insn): Rename to i2mod. 1786 (replaced_rhs_value): Rename to i2mod_new_rhs. 1787 (i2mod_old_rhs): New global variable. 1788 (combine_instructions): Adjust for above change. Save a copy of 1789 the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL 1790 note are substituted in the second instruction. 1791 (distribute_notes) <REG_DEAD>: Adjust for above change. Do not 1792 ditch the note if it pertains to the second eliminated register 1793 and this register is mentioned in i2mod_old_rhs. 1794 1795 Revert: 1796 2006-09-12 Eric Botcazou <[email protected]> 1797 1798 * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past 1799 the insn to which the note was originally attached. 1800 18012007-01-20 John David Anglin <[email protected]> 1802 1803 * pa.c (output_move_double): Change array size of xoperands to 4. 1804 18052007-01-17 Eric Christopher <[email protected]> 1806 1807 Backport from mainline: 1808 2006-12-18 Roger Sayle <[email protected]> 1809 Eric Christopher <[email protected]> 1810 1811 PR target/29302 1812 * real.c (real_maxval): Correctly handle IBM extended double format. 1813 18142007-01-17 Tom Tromey <[email protected]> 1815 1816 * doc/sourcebuild.texi (libgcj Tests): Use sourceware.org. 1817 * doc/install.texi (Testing): Use sourceware.org. 1818 (Binaries): Likewise. 1819 (Specific): Likewise. 1820 * doc/contrib.texi (Contributors): Use sourceware.org. 1821 18222007-01-15 Joseph S. Myers <[email protected]> 1823 1824 * config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from 1825 glibc CVS. 1826 18272007-01-11 John David Anglin <[email protected]> 1828 1829 * pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine. 1830 * pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS. 1831 (ASM_OUTPUT_INTERNAL_LABEL): Define. 1832 18332007-01-10 Ralf Corsépius <[email protected]> 1834 1835 * config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS. 1836 18372007-01-09 Nicolas Pitre <[email protected]> 1838 1839 PR target/30173 1840 * arm/ieee754-df.S (Lad_s): Also test the low word of X for zero. 1841 18422007-01-08 Nick Clifton <[email protected]> 1843 1844 * config/frv/predicates.md (reg_or_0_operand): Accept 1845 CONST_DOUBLEs. 1846 18472007-01-08 Ralf Corsépius <[email protected]> 1848 1849 * config/bfin/rtems.h, config/bfin/t-rtems: New. 1850 * config.gcc: Add bfin*-rtems*. 1851 18522007-01-08 Chen liqin <[email protected]> 1853 * config/score/t-score-elf (MULTILIB_OPTIONS): Change. 1854 * config/score/predicates.md (const_uimm5, sr0_operand, const_simm12, 1855 const_simm15, const_pow2, const_npow2): Added. 1856 * config/score/misc.md (insv, extv, extzv, movmemsi, 1857 move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug. 1858 * config/score/score.c (score_address_cost, score_select_cc_mode): 1859 Added. 1860 Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define. 1861 Update score_rtx_costs for MACRO TARGET_RTX_COSTS. 1862 Update score_print_operand. 1863 * config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added. 1864 Adjust register allocate order and update some macro define. 1865 * config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store, 1866 mdx_block_move_straight, mdx_block_move_loop_head, 1867 mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop, 1868 mdx_block_move): Added. 1869 (mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi, 1870 mdp_limm): Updated and fix some bug and typo. 1871 * config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated. 1872 (movsf, movdf, doloop_end): Added. 1873 18742007-01-05 Richard Guenther <[email protected]> 1875 1876 PR middle-end/27826 1877 * tree.c (get_narrower): Do not construct COMPONENT_REFs 1878 with mismatched types. Instead explicitly build a 1879 conversion NOP_EXPR. 1880 18812007-01-05 Jakub Jelinek <[email protected]> 1882 1883 PR c/30360 1884 * libgcc2.c (__divdc3): Compare c and d against 0.0 instead of 1885 denom against 0.0. 1886 18872007-01-03 Jakub Jelinek <[email protected]> 1888 1889 * unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define. 1890 (struct _Unwind_Context): Rename args_size to flags, remove 1891 signal_frame field, add a new args_size field and version field. 1892 (_Unwind_IsSignalFrame, _Unwind_SetSignalFrame, 1893 _Unwind_IsExtendedContext): New inline functions. 1894 (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): 1895 Assume by_value array is only present if _Unwind_IsExtendedContext. 1896 (_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use 1897 _Unwind_IsSignalFrame. 1898 (__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT. 1899 (uw_update_context_1): Use _Unwind_SetSignalFrame. 1900 (uw_init_context_1): Initialize context->flags to 1901 EXTENDED_CONTEXT_BIT. 1902 * config/rs6000/linux-unwind.h (frob_update_context): Use 1903 _Unwind_SetSignalFrame. 1904 19052007-01-01 Mike Stump <[email protected]> 1906 1907 * configure.ac: Remove support for building with Apple's gcc-3.1. 1908 19092007-01-01 Andreas Schwab <[email protected]> 1910 1911 PR target/29166 1912 * config/ia64/ia64.c (ia64_compute_frame_size): Account space for 1913 save of BR0 in extra_spill_size instead of spill_size. 1914 (ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill 1915 area. 1916 (ia64_expand_epilogue): Restore BR0 from its new location. 1917