12007-08-31 Jakub Jelinek <jakub@redhat.com> 2 3 PR rtl-optimization/33148 4 * simplify-rtx.c (simplify_unary_operation_1): Only optimize 5 (neg (lt X 0)) if X has scalar int mode. 6 7 PR debug/32914 8 * dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR 9 initializer, use build_vector_from_ctor if possible to create 10 VECTOR_CST out of it. If vector initializer is not VECTOR_CST 11 even after this, return NULL. 12 132007-08-27 Jason Merrill <jason@redhat.com> 14 15 PR c++/31337 16 * gimplify.c (gimplify_modify_expr): Discard the assignment of 17 zero-sized types after calling gimplify_modify_expr_rhs. 18 192007-08-24 Jakub Jelinek <jakub@redhat.com> 20 21 PR debug/32610 22 * dwarf2out.c (gen_decl_die): Don't call 23 gen_tagged_type_instantiation_die if decl doesn't have tagged type. 24 252007-08-24 Richard Guenther <rguenther@suse.de> 26 27 * expr.c (get_inner_reference): Remove unused variable. 28 292007-08-24 Richard Guenther <rguenther@suse.de> 30 31 * expr.c (get_inner_reference): Do computation of bitoffset 32 from offset in a way we can detect overflow reliably. 33 342007-08-22 Richard Guenther <rguenther@suse.de> 35 36 PR middle-end/32563 37 * tree.c (host_integerp): Treat sizetype as signed as it is 38 sign-extended. 39 402007-08-20 Adam Nemet <anemet@caviumnetworks.com> 41 42 * config/mips/predicates.md (const_call_insn_operand): Invoke 43 SYMBOL_REF_LONG_CALL_P only on SYMBOL_REFs. 44 452007-08-17 Chen liqin <liqin@sunnorth.com.cn> 46 47 * config/score/score.md : Update pattern tablejump. 48 * config/score/score.c : Update score_initialize_trampoline 49 function. 50 * config/score/score.h (TRAMPOLINE_TEMPLATE): Added macro. 51 (TRAMPOLINE_INSNS, TRAMPOLINE_SIZE) Update macro. 52 * doc/contrib.texi: Add my entry. 53 542007-08-02 Andreas Krebbel <krebbel1@de.ibm.com> 55 56 * config/s390/s390.md ("*xordi3_cconly"): Change xr to xg. 57 582007-08-01 Andreas Krebbel <krebbel1@de.ibm.com> 59 60 * config/s390/s390.md (TF in GPR splitter): Change operand_subword 61 parameter to TFmode. 62 632007-07-30 Mark Mitchell <mark@codesourcery.com> 64 65 * BASE-VER: Bump. 66 * DEV-PHASE: Mark as prerelease. 67 682007-07-25 Steve Ellcey <sje@cup.hp.com> 69 70 PR target/32218 71 * tree-vect-patterns.c (vect_pattern_recog_1): Check for valid type. 72 732007-07-25 Dorit Nuzman <dorit@il.ibm.com> 74 Devang Patel <dpatel@apple.com> 75 76 PR tree-optimization/25413 77 * targhooks.c (default_builtin_vector_alignment_reachable): New. 78 * targhooks.h (default_builtin_vector_alignment_reachable): New. 79 * tree.h (contains_packed_reference): New. 80 * expr.c (contains_packed_reference): New. 81 * tree-vect-analyze.c (vector_alignment_reachable_p): New. 82 (vect_enhance_data_refs_alignment): Call 83 vector_alignment_reachable_p. 84 * target.h (vector_alignment_reachable): New builtin. 85 * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New. 86 * config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New. 87 (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define. 88 892007-07-24 Richard Guenther <rguenther@suse.de> 90 91 Backport from mainline: 92 2007-07-16 Richard Guenther <rguenther@suse.de> 93 Uros Bizjak <ubizjak@gmail.com> 94 95 * tree-if-conv.c (find_phi_replacement_condition): Unshare "*cond" 96 before forcing it to gimple operand. 97 982007-07-24 Richard Guenther <rguenther@suse.de> 99 100 PR tree-optimization/32723 101 Backport from mainline: 102 2007-03-09 Daniel Berlin <dberlin@dberlin.org> 103 104 * tree-ssa-structalias.c (shared_bitmap_info_t): New structure. 105 (shared_bitmap_table): New variable. 106 (shared_bitmap_hash): New function. 107 (shared_bitmap_eq): Ditto 108 (shared_bitmap_lookup): Ditto. 109 (shared_bitmap_add): Ditto. 110 (find_what_p_points_to): Rewrite to use shared bitmap hashtable. 111 (init_alias_vars): Init shared bitmap hashtable. 112 (delete_points_to_sets): Delete shared bitmap hashtable. 113 1142007-07-23 Bernd Schmidt <bernd.schmidt@analog.com> 115 116 * reload1.c (choose_reload_regs): Set reload_spill_index for regs 117 chosen during find_reloads. 118 1192007-07-19 Release Manager 120 121 * GCC 4.2.1 released. 122 1232007-07-18 Paolo Bonzini <bonzini@gnu.org> 124 125 Revert: 126 127 2007-07-09 Paolo Bonzini <bonzini@gnu.org> 128 129 PR middle-end/32004 130 * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO. 131 132 2007-07-06 Paolo Bonzini <bonzini@gnu.org> 133 134 PR middle-end/32004 135 * function.c (match_asm_constraints_1, rest_of_match_asm_constraints, 136 pass_match_asm_constraints): New. 137 * passes.c (init_optimization_passes): Add new pass. 138 * stmt.c (expand_asm_operands): Set cfun->has_asm_statement. 139 * function.h (struct function): Add has_asm_statement bit. 140 (current_function_has_asm_statement): New. 141 * tree-pass.h (pass_match_asm_constraints): New. 142 1432007-07-16 Paul Brook <paul@codesourcery.com> 144 145 PR target/32753 146 gcc/ 147 * config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn. 148 1492007-07-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 150 151 PR target/32538 152 * config/mips/iris6.h (LIBGCC_SPEC): Add libm. 153 1542007-07-09 Paolo Bonzini <bonzini@gnu.org> 155 156 PR middle-end/32004 157 * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO. 158 1592007-07-09 Uros Bizjak <ubizjak@gmail.com> 160 161 PR tree-optimization/32681 162 * tree-if-conv.c (find_phi_replacement_condition): Use the condition 163 saved in second_edge->aux when first_bb is a loop header. 164 1652007-07-07 Anatoly Sokolov <aesok@post.ru> 166 167 PR target/31331 168 * config/avr/avr.c (avr_naked_function_p): Handle receiving a type 169 rather than a decl. 170 (avr_attribute_table): Make "naked" attribute apply to function types 171 rather than to decls. 172 (avr_handle_fntype_attribute): New function. 173 1742007-07-06 Paolo Bonzini <bonzini@gnu.org> 175 176 PR middle-end/32004 177 * function.c (match_asm_constraints_1, rest_of_match_asm_constraints, 178 pass_match_asm_constraints): New. 179 * passes.c (init_optimization_passes): Add new pass. 180 * stmt.c (expand_asm_operands): Set cfun->has_asm_statement. 181 * function.h (struct function): Add has_asm_statement bit. 182 (current_function_has_asm_statement): New. 183 * tree-pass.h (pass_match_asm_constraints): New. 184 1852007-07-06 Uros Bizjak <ubizjak@gmail.com> 186 187 PR rtl-optimization/32450 188 * function.c (thread_prologue_and_epilogue_insns): Emit blockage insn 189 to ensure that instructions are not moved into the prologue when 190 profiling is on. 191 1922007-07-04 Richard Guenther <rguenther@suse.de> 193 194 PR tree-optimization/32500 195 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): 196 Only use basic blocks that are always executed to infer loop bounds. 197 1982007-07-04 Uros Bizjak <ubizjak@gmail.com> 199 200 PR tree-optimization/31966 201 PR tree-optimization/32533 202 * tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not 203 "basic_block" description as its third argument. Update function 204 calls to get destination bb from "edge" argument. Save "cond" into 205 aux field of the edge. Update prototype for changed arguments. 206 (if_convertible_loop_p): Clear aux field of incoming edges if bb 207 contains phi node. 208 (find_phi_replacement_condition): Operate on incoming edges, not 209 on predecessor blocks. If there is a condition saved in the 210 incoming edge aux field, AND it with incoming bb predicate. 211 Return source bb of the first edge. 212 (clean_predicate_lists): Clean aux field of outgoing node edges. 213 (tree_if_conversion): Do not initialize cond variable. Move 214 variable declaration into the loop. 215 (replace_phi_with_cond_gimple_modify_stmt): Remove unneded 216 initializations of new_stmt, arg0 and arg1 variables. 217 2182007-07-04 Kaz Kojima <kkojima@gcc.gnu.org> 219 220 PR target/32506 221 Backport from mainline. 222 * config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand 223 predicate instead of target_operand. 224 (divsi3_i1_media, divsi3_media_2): Likewise. 225 2262007-07-03 Richard Guenther <rguenther@suse.de> 227 228 Backport from mainline: 229 2006-12-11 Zdenek Dvorak <dvorakz@suse.cz> 230 231 PR rtl-optimization/30113 232 * loop-iv.c (implies_p): Require the mode of the operands to be 233 scalar. 234 2352007-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 236 237 PR target/28307 238 * gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK] 239 (__gthrw_pragma): Provide default definition. 240 (__gthrw2): Use it. 241 * gthr-posix.c (__gthrw_pragma): Define. 242 2432007-07-02 Jakub Jelinek <jakub@redhat.com> 244 245 PR libgomp/32468 246 * omp-low.c (check_combined_parallel): New function. 247 (lower_omp_parallel): Call it via walk_stmts, set 248 OMP_PARALLEL_COMBINED if appropriate. 249 (determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS 250 isn't the only statement in WS_ENTRY_BB or OMP_RETURN 251 the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED, 252 don't consider it as combined parallel. 253 2542007-06-30 Alexandre Oliva <aoliva@redhat.com> 255 256 * dwarf2out.c (dwarf2out_finish): Accept namespaces as context of 257 limbo die nodes. 258 2592007-06-28 Seongbae Park <seongbae.park@gmail.com> 260 261 * config/arm/arm.c (arm_get_frame_offsets): Set 262 offsets->locals_base to avoid negative stack size. 263 (thumb_expand_prologue): Assert on negative stack size. 264 2652007-06-28 Jakub Jelinek <jakub@redhat.com> 266 267 * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure 268 decl is non-external for AIX ABI. 269 2702007-06-28 David Edelsohn <edelsohn@gnu.org> 271 272 * config/rs6000/predicates.md (current_file_function_operand): 273 Ensure the symbol is non-external for AIX ABI. 274 2752007-06-21 H.J. Lu <hongjiu.lu@intel.com> 276 277 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI. 278 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi. 279 (ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI. 280 2812007-06-21 Jakub Jelinek <jakub@redhat.com> 282 283 PR middle-end/32362 284 * omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL, 285 but decl is a global var, instead return decl. 286 * gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses 287 even for is_global_var decls, if they are private in some outer 288 context. 289 2902007-06-21 Uros Bizjak <ubizjak@gmail.com> 291 292 PR target/32389 293 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL. 294 * config/i386/i386.c (assign_386_stack_local): Assert that 295 SLOT_VIRTUAL is valid only before virtual regs are instantiated. 296 (ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]: 297 Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP. 298 * config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto. 299 3002007-06-20 Jakub Jelinek <jakub@redhat.com> 301 302 PR inline-asm/32109 303 * gimplify.c (gimplify_asm_expr): Issue error if type is addressable 304 and !allows_mem. 305 306 PR middle-end/32285 307 * calls.c (precompute_arguments): Also precompute CALL_EXPR arguments 308 if ACCUMULATE_OUTGOING_ARGS. 309 3102007-06-20 Kaz Kojima <kkojima@gcc.gnu.org> 311 312 PR rtl-optimization/28011 313 Backport from mainline. 314 * reload.c (push_reload): Set dont_share if IN appears in OUT 315 also when IN is a PLUS rtx. 316 (reg_overlap_mentioned_for_reload_p): Return true if X and IN 317 are same PLUS rtx. 318 3192007-06-19 Richard Guenther <rguenther@suse.de> 320 Michael Matz <matz@suse.de> 321 322 PR tree-optimization/30252 323 * tree-ssa-structalias.c (solution_set_add): Make sure to 324 preserve all relevant vars. 325 (handle_ptr_arith): Make sure to only handle positive 326 offsets. 327 (push_fields_onto_fieldstack): Create fields for empty 328 bases. 329 3302007-06-19 Jakub Jelinek <jakub@redhat.com> 331 332 PR tree-optimization/32353 333 * tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL. 334 3352007-06-17 Eric Botcazou <ebotcazou@libertysurf.fr> 336 337 * config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the 338 return mode from the builtin itself. 339 (sparc_fold_builtin): Fix cast of zero constant. 340 3412007-06-15 Diego Novillo <dnovillo@google.com> 342 343 PR 32327 344 * tree-ssa-operands.c (build_ssa_operands): Initially assume 345 that the statement does not take any addresses. 346 3472007-06-13 Eric Botcazou <ebotcazou@libertysurf.fr> 348 349 * config/sparc/sparc.c (sparc_override_options): Initialize 350 fpu mask correctly. 351 3522007-06-09 Ian Lance Taylor <iant@google.com> 353 354 PR tree-optimization/32169 355 * tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and 356 CONVERT_EXPR, check whether min and max both converted to an 357 overflow infinity representation. 358 3592007-06-08 Kaz Kojima <kkojima@gcc.gnu.org> 360 361 PR target/32163 362 Backport from mainline. 363 * config/sh/sh.md (symGOT_load): Don't schedule insns when 364 the symbol is generated with the stack protector. 365 3662007-06-06 Ian Lance Taylor <iant@google.com> 367 368 * fold-const.c (merge_ranges): If range_successor or 369 range_predecessor fail, just return 0. 370 3712007-06-05 Ian Lance Taylor <iant@google.com> 372 373 * tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a 374 PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p. 375 (extract_range_from_assert): Set TREE_NO_WARNING when creating an 376 expression. 377 (test_for_singularity): Likewise. 378 3792007-06-04 Ian Lance Taylor <iant@google.com> 380 381 * tree-vrp.c (adjust_range_with_scev): When loop is not expected 382 to overflow, reduce overflow infinity to regular infinity. 383 (vrp_var_may_overflow): New static function. 384 (vrp_visit_phi_node): Check vrp_var_may_overflow. 385 3862007-05-31 H.J. Lu <hongjiu.lu@intel.com> 387 388 Backport from mainline: 389 2007-05-25 H.J. Lu <hongjiu.lu@intel.com> 390 391 * config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it 392 with MASK_SSE2. 393 (__builtin_ia32_vec_ext_v2di): Likewise. 394 (__builtin_ia32_vec_ext_v4si): Likewise. 395 (__builtin_ia32_vec_ext_v8hi): Likewise. 396 (__builtin_ia32_vec_set_v8hi): Likewise. 397 3982007-05-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 399 400 Backport from mainline: 401 2007-05-05 Aurelien Jarno <aurelien@aurel32.net> 402 403 * config/pa/pa.md: Split tgd_load, tld_load and tie_load 404 into pic and non-pic versions. Mark r19 as used for 405 tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used 406 for tgd_load, tld_load and tie_load . 407 * config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic 408 version of tgd_load, tld_load and tie_load depending on the 409 value of flag_pic. 410 4112007-05-27 Daniel Berlin <dberlin@dberlin.org> 412 413 Fix PR/30052 414 Backport PTA solver from mainline 415 416 * pointer-set.c: Copy from mainline 417 * pointer-set.h: Ditto. 418 * tree-ssa-structalias.c: Copy solver portions from mainline. 419 * Makefile.in (tree-ssa-structalias.o): Update dependencies 420 4212007-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 422 423 * tree-vrp.c (compare_names): Initialize sop. 424 4252007-05-30 Jakub Jelinek <jakub@redhat.com> 426 427 PR tree-optimization/31769 428 * except.c (duplicate_eh_regions): Clear prev_try if 429 ERT_MUST_NOT_THROW region is inside of ERT_TRY region. 430 4312007-05-28 Andrew Pinski <andrew_pinski@playstation.sony.com> 432 433 PR tree-opt/32100 434 * fold-const.c (tree_expr_nonnegative_warnv_p): Don't 435 return true when truth_value_p is true and the type 436 is of signed:1. 437 4382007-05-27 H.J. Lu <hongjiu.lu@intel.com> 439 440 Backport from mainline: 441 2007-05-25 Uros Bizjak <ubizjak@gmail.com> 442 443 * config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate 444 "memory" attribute for "sseishft" type insn without operands[2]. 445 446 2007-05-25 H.J. Lu <hongjiu.lu@intel.com> 447 448 * config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift. 449 4502007-05-22 Ian Lance Taylor <iant@google.com> 451 452 * tree-vrp.c (avoid_overflow_infinity): New static function, 453 broken out of set_value_range_to_value. 454 (set_value_range_to_value): Call avoid_overflow_infinity. 455 (extract_range_from_assert): Likewise. 456 4572007-05-23 Chen Liqin <liqin@sunnorth.com.cn> 458 459 PR target/30987 460 * config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove. 461 * config/score/predicate.md (const_pow2, const_npow2): remove. 462 * config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef. 463 PR target/30474 464 * config/score/score.c (score_print_operand): makes sure that only lower 465 bits are used. 466 4672007-05-21 Uros Bizjak <ubizjak@gmail.com> 468 469 PR target/31167 470 Backport from mainline. 471 * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use 472 x86_64_general_operand as operand[2] predicate. Remove "iF" 473 from operand constraints and use "e" constraint instead. 474 (*subti3_1, *subti3_1 splitter): Ditto. 475 (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as 476 operand[1] predicate. 477 4782007-05-21 Uros Bizjak <ubizjak@gmail.com> 479 480 PR target/30041 481 Backport from mainline. 482 * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and 483 operands[1] in insn constraint. Correct type attribute to sselog1. 484 4852007-05-20 Kaz Kojima <kkojima@gcc.gnu.org> 486 487 PR target/31701 488 Backport from mainline. 489 * config/sh/sh.c (output_stack_adjust): Avoid using the frame 490 register itself to hold the offset constant. Tell flow the use 491 of r4 and r5 when they are used. 492 4932007-05-20 Kaz Kojima <kkojima@gcc.gnu.org> 494 495 PR target/31480 496 Backport from mainline. 497 * config/sh/sh.md (length): Check if prev_nonnote_insn (insn) 498 is null. 499 5002007-05-20 Kaz Kojima <kkojima@gcc.gnu.org> 501 502 PR target/31022 503 Backport from mainline. 504 * config/sh/sh.c (sh_adjust_cost): Use the result of single_set 505 instead of PATTERN. 506 5072007-05-20 Kaz Kojima <kkojima@gcc.gnu.org> 508 509 PR target/27405 510 Backport from mainline. 511 * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove. 512 (cmpsi{eq,gt,gtu}{si,di}_media): Rename to 513 cmp{eq,gt,gtu}{si,di}_media. 514 (*cmpne0si_media): Remove. 515 (*movsicc_umin): Adjust gen_cmp*_media call. 516 (unordered): Change the mode of unordered and operands[1] to 517 SImode. 518 (seq): Adjust gen_cmp*_media calls. Make the mode of 519 a temporary result of compare SImode if needed. If the mode 520 of operands[0] is DImode, extend the temporary result to DImode. 521 (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise. 522 (sunorderd): Change the mode of match_operand and unorderd to 523 SImode. 524 (cmpeq{sf,df}_media): Remove. 525 (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media. 526 (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand 527 and compare operation to SImode. 528 5292007-05-18 Joseph Myers <joseph@codesourcery.com> 530 531 * config/soft-fp/double.h, config/soft-fp/extended.h, 532 config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c, 533 config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c, 534 config/soft-fp/op-2.h, config/soft-fp/op-4.h, 535 config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from 536 glibc CVS. 537 5382007-05-17 Ian Lance Taylor <iant@google.com> 539 540 PR tree-optimization/31953 541 * tree-vrp.c (set_value_range_to_value): Add equiv parameter. 542 Change all callers. 543 (set_value_range_to_null): Call set_value_range_to_value. 544 (extract_range_from_comparison): Likewise. 545 5462007-05-17 Eric Botcazou <ebotcazou@libertysurf.fr> 547 548 PR rtl-optimization/31691 549 * combine.c (simplify_set): Build a new src pattern instead of 550 substituting its operands in the COMPARE case. 551 5522007-05-14 Mark Mitchell <mark@codesourcery.com> 553 554 * BASE-VER: Set to 4.2.1. 555 * DEV-PHASE: Set to prerelease. 556 5572007-05-13 Release Manager 558 559 * GCC 4.2.0 released. 560 5612007-05-12 Richard Guenther <rguenther@suse.de> 562 563 PR tree-optimization/31797 564 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not 565 propagate into a stmt that has volatile ops. 566 5672007-05-01 Ian Lance Taylor <iant@google.com> 568 569 PR tree-optimization/31739 570 * tree-vrp.c (vrp_val_is_max): New static function. 571 (vrp_val_is_min): New static function. 572 (set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than 573 copying the node. 574 (set_value_range): Use vrp_val_is_{max,min}. 575 (extract_range_from_assert): Likewise. 576 (extract_range_from_binary_expr): Likewise. 577 (extract_range_from_unary_expr): Likewise. 578 (dump_value_range, vrp_meet): Likewise. 579 (vrp_visit_phi_node): Likewise. 580 * tree.c (build_distinct_type_copy): Revert change of 2007-04-27. 581 5822007-05-01 Joseph Myers <joseph@codesourcery.com> 583 584 * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo. 585 5862007-04-27 Anatoly Sokolov <aesok@post.ru> 587 588 * config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and 589 ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture. 590 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). 591 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). 592 5932007-04-27 Ian Lance Taylor <iant@google.com> 594 595 PR middle-end/31710 596 * tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or 597 TYPE_MAX_VALUE exist, convert them to the new type. 598 5992007-04-26 Ian Lance Taylor <iant@google.com> 600 601 PR target/28675 602 * reload.c (find_reloads_subreg_address): If the address was valid 603 in the original mode but not in the new mode, reload the whole 604 address. 605 6062007-04-26 Ulrich Weigand <uweigand@de.ibm.com> 607 608 PR middle-end/30761 609 * reload1.c (eliminate_regs_in_insn): In the single_set special 610 case, attempt to re-recognize the insn before falling back to 611 having reload fix it up. 612 6132007-04-26 Richard Guenther <rguenther@suse.de> 614 Daniel Berlin <dberlin@dberlin.org> 615 616 PR tree-optimization/30567 617 * tree-ssa-structalias.c (update_alias_info): Record dereference 618 also if ESCAPE_STORED_IN_GLOBAL. 619 6202007-04-26 Jakub Jelinek <jakub@redhat.com> 621 622 PR c++/31598 623 * tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE. 624 625 PR tree-optimization/30558 626 * tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW 627 clear this_state.prev_try. 628 6292007-04-25 Anatoly Sokolov <aesok@post.ru> 630 631 PR target/18989 632 * config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine. 633 6342007-04-24 Andrew Pinski <andrew_pinski@playstation.sony.com> 635 Roger Sayle <roger@eyesopen.com> 636 637 PR middle-end/30222 638 * expmed.c (make_tree): Use the correct type, i.e. the inner 639 type, when constructing the individual elements of a CONST_VECTOR. 640 6412007-04-24 Ian Lance Taylor <iant@google.com> 642 643 PR tree-optimization/31605 644 * tree-vrp.c (set_value_range): Check that min and max are not 645 both overflow infinities. 646 (set_value_range_to_value): New static function. 647 (extract_range_from_binary_expr): Call set_value_range_to_value. 648 (extract_range_from_expr): Likewise. 649 (extract_range_from_unary_expr): Likewise. Don't create a range 650 which overflows on both sides. 651 (vrp_meet): Check for a useless range. 652 (vrp_visit_phi_node): If we see a constant which looks like an 653 overflow infinity, turn off the TREE_OVERFLOW flag. 654 6552007-04-24 Ian Lance Taylor <iant@google.com> 656 657 PR tree-optimization/31602 658 * tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for 659 conditionals in the copied loop header. 660 * tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow 661 warnings if TREE_NO_WARNING is set. 662 * doc/invoke.texi (Warning Options): Clarify that 663 -Wstrict-overflow does not warn about loops. 664 6652007-04-24 Andreas Krebbel <krebbel1@de.ibm.com> 666 667 PR target/31641 668 * config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length 669 argument of 0 for memset. 670 (s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use 671 unsigned shift instead of the signed variant. 672 6732007-04-24 Daniel Franke <franke.daniel@gmail.com> 674 675 * doc/invoke.texi: Removed leading '-' from option index entries. 676 6772007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com> 678 679 PR middle-end/31448 680 * expr.c (reduce_to_bit_field_precision): Handle 681 CONST_INT rtx's. 682 6832007-04-20 Richard Henderson <rth@redhat.com> 684 685 PR target/28623 686 * config/alpha/alpha.c (get_unaligned_address): Remove extra_offset 687 argument; update all callers. 688 (get_unaligned_offset): New. 689 * config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use 690 get_unaligned_address, just pass on the address directly. 691 (unaligned_extendqidi): Use gen_lowpart instead of open-coding 692 the subreg in the helper patterns. 693 (unaligned_extendqidi_le): Use get_unaligned_offset. 694 (unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise. 695 (unaligned_extendhidi_be): Likewise. 696 (unaligned_extendhidi): Tidy. 697 * config/alpha/alpha-protos.h: Update. 698 6992007-04-21 Richard Guenther <rguenther@suse.de> 700 701 PR middle-end/31136 702 * fold-const.c (fold_unary): Call fold_convert_const on the 703 original tree. 704 7052007-04-20 Richard Henderson <rth@redhat.com> 706 707 * config/alpha/linux.h (CPP_SPEC): Undef before redefine. 708 7092007-04-20 Bernd Schmidt <bernd.schmidt@analog.com> 710 711 * reload.c (combine_reloads): When trying to use a dying register, 712 check whether it's uninitialized and don't use if so. 713 7142007-04-20 Jakub Jelinek <jakub@redhat.com> 715 716 * config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED 717 for __builtin_ia32_cmpordss. 718 719 PR tree-optimization/31632 720 * fold-const.c (fold_binary): Use op0 and op1 instead of arg0 721 and arg1 for optimizations of comparison against min/max values. 722 Fold arg0 to arg1's type for optimizations of comparison against 723 min+1 and max-1 values. 724 7252007-04-19 Eric Botcazou <ebotcazou@libertysurf.fr> 726 727 PR rtl-optimization/29841 728 * cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional 729 trap instructions. 730 * sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions 731 that may cause control flow transfer from being moved. 732 7332007-04-18 Anatoly Sokolov <aesok@post.ru> 734 735 * config/avr/avr.c (ptrreg_to_str): Replace error() with 736 output_operand_lossage(). 737 7382007-04-17 Anatoly Sokolov <aesok@post.ru> 739 740 PR target/30483 741 * config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with 742 error(). 743 7442007-04-17 Jan Hubicka <jh@suse.cz> 745 746 PR middle-end/30700 747 * dwarf2out.c (reference_to_unused): Ask cgraph for functions 748 availablility; add more sanity checking; ask varpool only about 749 VAR_DECL. 750 7512007-04-17 H.J. Lu <hongjiu.lu@intel.com> 752 753 * Backport from mainline: 754 2007-04-17 H.J. Lu <hongjiu.lu@intel.com> 755 756 * config/i386/sse.md (sse_vmaddv4sf3): Use register_operand 757 on "0". 758 (sse_vmmulv4sf3): Likewise. 759 (sse2_vmaddv2df3): Likewise. 760 (sse2_vmmulv2df3): Likewise. 761 7622007-04-16 Matthias Klose <doko@debian.org> 763 764 * config/alpha/linux.h (CPP_SPEC): Define. 765 * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend. 766 7672007-04-16 Anatoly Sokolov <aesok@post.ru> 768 769 * config/avr/avr.c (avr_arch_types): Rearranging array. 770 (enum avr_arch): Add. 771 (avr_mcu_types): Use avr_arch enumeration constants instead of 772 numbers. 773 * config/avr/avr.h (LINK_SPEC): Simplify. 774 7752007-04-16 Jan Hubicka <jh@suse.cz> 776 777 PR target/27869 778 * config/i386/sse.md 779 (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier. 780 (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove. 781 (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier. 782 (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove. 783 7842007-04-16 H.J. Lu <hongjiu.lu@intel.com> 785 786 * Backport from mainline: 787 2007-04-16 H.J. Lu <hongjiu.lu@intel.com> 788 789 PR target/31582 790 * config/i386/i386.c (ix86_expand_vec_set_builtin): Make a 791 copy of source, pass it to ix86_expand_vector_set and return 792 it as target. 793 7942007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com> 795 796 PR c/31520 797 * c-decl.c (finish_decl): Grab the type of the decl after the call 798 to store_init_value. 799 8002007-04-14 Jakub Jelinek <jakub@redhat.com> 801 802 PR c++/25874 803 * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators, 804 post dominators and cleanup cfg before returning. 805 8062007-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 807 808 * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not 809 null before emitting a .nsubspa directive. 810 8112007-04-08 Anatoly Sokolov <aesok@post.ru> 812 813 PR target/29932 814 * config/avr/predicates.md (io_address_operand): Delete predicate. 815 (low_io_address_operand): Don't use 'mode' argument. 816 (higth_io_address_operand): Rename ... 817 (high_io_address_operand): ... to this. Don't use 'mode' argument. 818 * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust 819 for above change. 820 8212007-04-07 Anatoly Sokolov <aesok@post.ru> 822 823 PR target/30289 824 * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as 825 earlyclobber. 826 8272007-04-05 Anatoly Sokolov <aesok@post.ru> 828 829 PR target/25448 830 * config/avr/avr.c (avr_handle_fndecl_attribute): Use the 831 DECL_ASSEMBLER_NAME, not the DECL_NAME. 832 8332007-04-04 Richard Henderson <rth@redhat.com> 834 835 PR target/31361 836 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove 837 v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di. Use like-types for 838 the variable shift builtins. 839 (ix86_expand_builtin): Properly expand the variable shift builtins. 840 * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make 841 operand 2 be TImode. 842 * config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32, 843 _mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, 844 _mm_srli_epi32, _mm_srli_epi64): Turn into macros. 845 (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions. 846 (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16, 847 _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use 848 two-vector shift builtins. 849 8502007-04-04 Chen liqin <liqin@sunnorth.com.cn> 851 852 * config/score/crti.asm: Change _bss_start to __bss_start. 853 * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added. 854 (OUTGOING_REG_PARM_STACK_SPACE) update. 855 * config/score/score.opt: add options to make backend support 856 score5, score5u, score7 and score7d. 857 * config/score/score.md: Likewise. 858 * config/score/misc.md: Likewise. 859 * config/score/mac.md: Likewise. 860 * doc/invoke.texi: Likewise. 861 * doc/md.texi: update constraints define. 862 8632007-04-03 Stuart Hastings <stuart@apple.com> 864 865 PR 31281 866 * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile 867 from rethrow decl. 868 * cse.c (record_jump_equiv): Bail out on CCmode comparisons. 869 8702007-04-03 Jakub Jelinek <jakub@redhat.com> 871 872 PR middle-end/30704 873 * fold-const.c (native_encode_real): Encode real.c provided longs 874 as a series of 32-bit native integers. 875 (native_interpret_real): Interpret buffer as a series of 32-bit 876 native integers. 877 8782007-04-02 Eric Christopher <echristo@apple.com> 879 880 * doc/invoke.texi (i386 and x86-64 Options): Document -m64 881 limitations on darwin. 882 8832007-04-02 Anatoly Sokolov <aesok@post.ru> 884 885 PR target/31137 886 * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements. 887 8882007-04-02 H.J. Lu <hongjiu.lu@intel.com> 889 890 * Backport from mainline: 891 2007-03-28 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com> 892 893 PR target/31380 894 * config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX. 895 8962007-03-30 Anatoly Sokolov <aesok@post.ru> 897 898 * config/avr/avr.c (avr_override_options): Clear 899 'flag_delete_null_pointer_checks'. 900 9012007-03-29 Michael Matz <matz@suse.de> 902 903 * builtins.c (expand_builtin_sync_operation, 904 expand_builtin_compare_and_swap, 905 expand_builtin_lock_test_and_set): Care for extending CONST_INTs 906 correctly. 907 908 * config/i386/sync.md (sync_double_compare_and_swapdi_pic, 909 sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint 910 for operand 3. 911 9122007-03-28 Mike Stump <mrs@apple.com> 913 914 * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add. 915 * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix. 916 * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef. 917 9182007-03-27 Anatoly Sokolov <aesok@post.ru> 919 920 * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' 921 architecture. 922 9232007-03-26 Ian Lance Taylor <iant@google.com> 924 925 PR tree-optimization/31345 926 * tree-vrp.c (extract_range_from_binary_expr): Turn ranges like 927 [+INF, +INF(OVF)] into VARYING. 928 9292007-03-23 Martin Michlmayr <tbm@cyrius.com> 930 931 * doc/invoke.texi (-fforce-mem): Update documentation to reflect 932 that this option will be removed in 4.3 rather than 4.2. 933 * opts.c (common_handle_option): Likewise. 934 9352007-03-21 Mike Stump <mrs@apple.com> 936 937 * c.opt: Fixup for Objective-C/C++. 938 9392007-03-21 Richard Henderson <rth@redhat.com> 940 941 PR target/31245 942 * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias. 943 * config/i386/mmintrin.h (__m64): Likewise. 944 * config/i386/xmmintrin.h (__m128): Likewise. 945 9462007-03-20 Jakub Jelinek <jakub@redhat.com> 947 948 PR c/30762 949 * c-typeck.c (convert_for_assignment): Call comptypes for 950 RECORD_TYPE or UNION_TYPE. 951 952 PR inline-asm/30505 953 * reload1.c (reload): Do invalid ASM checking after 954 cleanup_subreg_operands. 955 9562007-03-19 Jeff Law <law@redhat.com> 957 958 * tree-cfg.c (find_taken_edge): Tighten conditions for 959 optimizing computed gotos. 960 9612007-03-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 962 963 * pa.c (attr_length_call): Partially revert change of 2007-03-09. 964 (output_call): Likewise. 965 9662007-03-16 Alexandre Oliva <aoliva@redhat.com> 967 968 PR debug/29906 969 * dwarf2out.c (force_type_die): Adjust comment. 970 (dwarf2out_imported_module_or_decl): Handle base AT_import types. 971 9722007-03-15 Seongbae Park <seongbae.park@gmail.com> 973 974 PR tree-optimization/30590 975 * tree-nrv.c (tree_nrv): Check for the partial update 976 of the return value. 977 9782007-03-14 Ian Lance Taylor <iant@google.com> 979 980 * tree-vrp.c (value_inside_range): Ignore fold warnings. 981 9822007-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 983 984 PR target/31123 985 * pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for 986 two unamed patterns. 987 9882007-03-12 Brooks Moses <brooks.moses@codesourcery.com> 989 990 * doc/extend.texi: Edit "gnu_inline" documentation. 991 * doc/invoke.texi: Edit "-fgnu89-inline" documentation. 992 9932007-03-12 Brooks Moses <brooks.moses@codesourcery.com> 994 995 * doc/extend.texi: Fix cpp.info cross-reference. 996 * doc/invoke.texi: Fix cpp.info cross-reference. 997 * doc/passes.texi: Fix gcc.info cross-reference. 998 9992007-03-12 Daniel Berlin <dberlin@dberlin.org> 1000 1001 Fix PR tree-optimization/28544 1002 * tree-ssa-operands.c (add_virtual_operand): 1003 Move assert triggering on aliasing violations into 1004 debugging define 1005 10062007-03-12 Ian Lance Taylor <iant@google.com> 1007 1008 * c.opt (fgnu89-inline): New option. 1009 * c-opts.c (c_common_post_options): Warn about -fno-gnu89-inline. 1010 * c-common.c (c_common_attributes): Add gnu_inline attribyte. 1011 (handle_gnu_inline_attribute): New static function. 1012 * c-decl.c (start_function): Warn if we see a non-static inline 1013 function in C99 mode. 1014 * c-cppbuiltin.c (c_cpp_builtins): Define __GNUC_GNU_INLINE__. 1015 * doc/invoke.texi (Option Summary): Mention -fgnu89-inline. 1016 (C Dialect Options): Document -fgnu89-inline. 1017 * doc/extend.texi (Function Attributes): Document gnu_inline. 1018 (Inline): Mention that C99 inline will be implemented in 4.3. 1019 Refer to ways to get the old handling. 1020 * doc/cpp.texi (Common Predefined Macros): Document 1021 __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__. 1022 10232007-03-12 Richard Henderson <rth@redhat.com> 1024 1025 * config/alpha/alpha.c (alpha_elf_section_type_flags): New. 1026 (TARGET_SECTION_TYPE_FLAGS): New. 1027 10282007-03-12 Richard Henderson <rth@redhat.com> 1029 1030 * config/darwin.c (machopic_reloc_rw_mask): New. 1031 (machopic_select_section): Use decl_readonly_section. 1032 * config/darwin-protos.h (machopic_reloc_rw_mask): Declare. 1033 * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New. 1034 10352007-02-14 Richard Guenther <rguenther@suse.de> 1036 1037 Backport from mainline: 1038 * flags.h (issue_strict_overflow_warning): Convert to a macro. 1039 10402007-03-11 Ian Lance Taylor <iant@google.com> 1041 1042 Backport -fstrict-overflow/-Wstrict-overflow from mainline: 1043 2007-03-11 Ian Lance Taylor <iant@google.com> 1044 1045 * tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and 1046 the *_DIV_EXPR codes correctly with overflow infinities. 1047 1048 2007-03-09 Ian Lance Taylor <iant@google.com> 1049 1050 * opts.c (common_handle_option): Treat -Wstrict-overflow (with no 1051 argument) like -Wstrict-overflow=2. 1052 * doc/invoke.texi (Warning Options): Update documentation. 1053 1054 2007-03-08 Ian Lance Taylor <iant@google.com> 1055 1056 * tree-vrp.c: Include "toplev.h" and "intl.h". 1057 (usable_range_p): New static function. 1058 (compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for 1059 overflowed values, juts set *strict_overflow_p. 1060 (compare_values): Only return -2 if one of the operands is not a 1061 constant. 1062 (compare_ranges): Call usable_range_p. 1063 (compare_range_with_value): Likewise. 1064 (vrp_evaluate_conditional_warnv): Rename from 1065 vrp_evaluate_conditional. Make static. Change all callers. 1066 (vrp_evaluate_conditional): New function. 1067 (simplify_div_or_mod_using_ranges): Issue warning about reliance 1068 on signed overflow. 1069 (simplify_abs_using_ranges): Likewise. 1070 (simplify_stmt_for_jump_threading): Add within_stmt parameter. 1071 * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add 1072 within_stmt parameter. 1073 * tree-ssa-propagate.c (fold_predicate_in): Update call to 1074 vrp_evaluate_conditional. 1075 * tree-ssa-threadedge.c 1076 (record_temporary_equivalences_from_stmts_at_dest): Change 1077 simplify parameter to take a second tree parameter. 1078 (simplify_control_stmt_condition): Likewise. 1079 (thread_across_edge): Likewise. 1080 * tree-flow.h (vrp_evaluate_conditional): Update declaration. 1081 (thread_across_edge): Likewise. 1082 * Makefile.in (tree-vrp.o): Depend upon toplev.h and intl.h. 1083 1084 2007-03-05 Ian Lance Taylor <iant@google.com> 1085 1086 * tree-vrp.c (extract_range_from_assert): Don't try to handle a 1087 half-range if the other side is an overflow infinity. 1088 1089 2007-03-02 Ian Lance Taylor <iant@google.com> 1090 1091 Used signed infinities in VRP. 1092 * tree-vrp.c (uses_overflow_infinity): New static function. 1093 (supports_overflow_infinity): New static function. 1094 (make_overflow_infinity): New static function. 1095 (negative_overflow_infinity): New static function. 1096 (positive_overflow_infinity): New static function. 1097 (is_negative_overflow_infinity): New static function. 1098 (is_positive_overflow_infinity): New static function. 1099 (is_overflow_infinity): New static function. 1100 (overflow_infinity_range_p): New static function. 1101 (compare_values_warnv): New function split out of compare_values. 1102 (compare_value): Call it. 1103 (set_value_range_to_nonnegative): Add overflow_infinity 1104 parameter. Change caller. 1105 (vrp_expr_computes_nonnegative): Add strict_overflow_p parameter. 1106 Change callers. 1107 (vrp_expr_computes_nonzero): Likewise. 1108 (compare_ranges, compare_range_with_value): Likewise. 1109 (compare_name_with_value, compare_names): Likewise. 1110 (vrp_evaluate_conditional): Likewise. 1111 (set_value_range): Handle infinity 1112 (vrp_operand_equal_p, operand_less_p): Likewise. 1113 (extract_range_from_assert): Likewise. 1114 (vrp_int_const_binop): Likewise. 1115 (extract_range_from_binary_expr): Likewise. 1116 (extract_range_from_unary_expr): Likewise. 1117 (extract_range_from_comparison): Likewise. 1118 (extract_range_from_expr): Likewise. 1119 (dump_value_range): Likewise. 1120 (vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise. 1121 (test_for_singularity): Likewise. 1122 (vrp_int_const_binop): Remove inline qualifier. 1123 (adjust_range_with_scev): Add comment. 1124 * tree-flow.h (vrp_evaluate_conditional): Update declaration. 1125 1126 2007-02-13 Ian Lance Taylor <iant@google.com> 1127 1128 * common.opt: Add Wstrict-overflow and Wstrict-overflow=. 1129 * flags.h (warn_strict_overflow): Declare. 1130 (enum warn_strict_overflow_code): Define. 1131 (issue_strict_overflow_warning): New static inline function. 1132 * opts.c (warn_strict_overflow): New variable. 1133 (common_handle_option): Handle OPT_Wstrict_overflow and 1134 OPT_Wstrict_overflow_. 1135 * c-opts.c (c_common_handle_option): Set warn_strict_overflow for 1136 OPT_Wall. 1137 * fold-const.c: Include intl.h. 1138 (fold_deferring_overflow_warnings): New static variable. 1139 (fold_deferred_overflow_warning): New static variable. 1140 (fold_deferred_overflow_code): New static variable. 1141 (fold_defer_overflow_warnings): New function. 1142 (fold_undefer_overflow_warnings): New function. 1143 (fold_undefer_and_ignore_overflow_warnings): New function. 1144 (fold_deferring_overflow_warnings_p): New function. 1145 (fold_overflow_warning): New static function. 1146 (make_range): Add strict_overflow_p parameter. Change all 1147 callers. 1148 (extract_muldiv, extract_muldiv_1): Likewise. 1149 (fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling 1150 tree_expr_nonnegative_p. 1151 (fold_negate_expr): Call fold_overflow_warning. 1152 (fold_range_test): Likewise. 1153 (fold_comparison): Likewise. 1154 (fold_binary): Likewise. Call tree_expr_nonnegative_warnv_p 1155 instead of tree_expr_nonnegative_p. 1156 (tree_expr_nonnegative_warnv_p): Rename from 1157 tree_expr_nonnegative_p, add strict_overflow_p parameter. 1158 (tree_expr_nonnegative_p): New function. 1159 (tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add 1160 strict_overflow_p parameter. 1161 (tree_expr_nonzero_p): New function. 1162 * passes.c (verify_interpass_invariants): New static function. 1163 (execute_one_pass): Call it. 1164 * tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold 1165 warnings. 1166 (number_of_iterations_exit, loop_niter_by_eval): Likewise. 1167 (estimate_numbers_of_iterations): Likewise. 1168 (scev_probably_wraps_p): Likewise. 1169 * tree-ssa-ccp.c: Include "toplev.h". 1170 (evaluate_stmt): Defer fold overflow warnings until we know we are 1171 going to optimize. 1172 (struct fold_stmt_r_data): Add stmt field. 1173 (fold_stmt_r): Defer fold overflow warnings until we know we 1174 optimized. 1175 (fold_stmt): Initialize stmt field of fold_stmt_r_data. 1176 (fold_stmt_inplace): Likewise. 1177 * tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h". 1178 (cleanup_control_expr_graph): Defer fold overflow warnings until 1179 we know we are going to optimize. 1180 * tree-cfg.c (fold_cond_expr_cond): Likewise. 1181 * tree-ssa-threadedge.c (simplify_control_stmt_condition): 1182 Likewise. 1183 * tree-vrp.c (vrp_expr_computes_nonnegative): Call 1184 tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p. 1185 * tree-ssa-loop-manip.c (create_iv): Likewise. 1186 * c-typeck.c (build_conditional_expr): Likewise. 1187 (build_binary_op): Likewise. 1188 * tree-vrp.c (vrp_expr_computes_nonzero): Call 1189 tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p. 1190 (extract_range_from_unary_expr): Likewise. 1191 * simplify-rtx.c (simplify_const_relational_operation): Warn when 1192 assuming that signed overflow does not occur. 1193 * c-common.c (pointer_int_sum): Ignore fold overflow warnings. 1194 * tree.h (tree_expr_nonnegative_warnv_p): Declare. 1195 (fold_defer_overflow_warnings): Declare. 1196 (fold_undefer_overflow_warnings): Declare. 1197 (fold_undefer_and_ignore_overflow_warnings): Declare. 1198 (fold_deferring_overflow_warnings_p): Declare. 1199 (tree_expr_nonzero_warnv_p): Declare. 1200 * doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list 1201 of warning options. 1202 (Warning Options): Document -Wstrict-overflow. 1203 * Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h. 1204 (tree-ssa-ccp.o): Likewise. 1205 (tree-cfgcleanup.o): Change errors.h dependency to toplev.h. 1206 (fold-const.o): Depend on intl.h. 1207 1208 2007-01-27 Ian Lance Taylor <iant@google.com> 1209 1210 * common.opt: Add fstrict-overflow. 1211 * opts.c (decode_options): Set flag_strict_overflow if -O2. 1212 * flags.h (TYPE_OVERFLOW_WRAPS): Define. 1213 (TYPE_OVERFLOW_UNDEFINED): Define. 1214 (TYPE_OVERFLOW_TRAPS): Define. This replaces TYPE_TRAP_SIGNED. 1215 Replace all uses. 1216 * tree.h (TYPE_TRAP_SIGNED): Don't define. 1217 * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED. 1218 (fold_negate_expr): Likewise. 1219 (make_range): Likewise. 1220 (extract_muldiv_1): Likewise. 1221 (fold_comparison): Likewise. 1222 (fold_binary): Likewise. 1223 (tree_expr_nonnegative_p): Likewise. 1224 (tree_expr_nonzero_p): Likewise. 1225 * tree-vrp.c (compare_values): Likewise. 1226 (extract_range_from_binary_expr): Likewise. 1227 (extract_range_from_unary_expr): Likewise. 1228 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): 1229 Likewise. 1230 (nowrap_type_p): Likewise. 1231 * tree-scalar-evolution.c (simple_iv): Likewise. 1232 * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS. 1233 (build_range_check): Likewise. 1234 (extract_muldiv_1): Likewise. 1235 (fold_comparison): Likewise. 1236 * tree-vrp.c (vrp_int_const_binop): Likewise. 1237 (extract_range_from_unary_expr): Likewise. 1238 * convert.c (convert_to_integer): Likewise. 1239 * fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS. 1240 (fold_comparison): Likewise. 1241 (fold_binary): Likewise. 1242 * optabs.c (optab_for_tree_code): Likewise. 1243 * tree-vectorizer.c (vect_is_simple_reduction): Likewise. 1244 * simplify-rtx.c (simplify_const_relational_operation): Check 1245 flag_strict_overflow and flag_trapv. 1246 (simplify_const_relational_operation): Likewise. 1247 * doc/invoke.texi (Option Summary): Mention -fstrict-overflow. 1248 (Optimize Options): Add -fstrict-overflow to -O2 list. Document 1249 -fstrict-overflow. 1250 1251 2007-01-17 Ian Lance Taylor <iant@google.com> 1252 1253 * vec.h (VEC_reserve_exact): Define. 1254 (vec_gc_p_reserve_exact): Declare. 1255 (vec_gc_o_reserve_exact): Declare. 1256 (vec_heap_p_reserve_exact): Declare. 1257 (vec_heap_o_reserve_exact): Declare. 1258 (VEC_OP (T,A,reserve_exact)): New static inline function, three 1259 versions. 1260 (VEC_OP (T,A,reserve)) [all versions]: Remove handling of 1261 negative parameter. 1262 (VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact. 1263 (VEC_OP (T,A,copy)) [all versions]: Likewise. 1264 (VEC_OP (T,a,safe_grow)) [all versions]: Likewise. 1265 * vec.c (calculate_allocation): Add exact parameter. Change all 1266 callers. 1267 (vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve. 1268 (vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1. 1269 (vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions. 1270 (vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve. 1271 (vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1. 1272 (vec_heap_p_reserve_exact): New function. 1273 (vec_heap_o_reserve_exact): New function. 1274 12752007-03-11 Roger Sayle <roger@eyesopen.com> 1276 Andrew Pinski <andrew_pinski@playstation.sony.com> 1277 1278 PR middle-end/30433 1279 * fold-const.c (fold_relational_const): Add back compile-time 1280 evaluation of complex constant equality/inequality comparisons. 1281 12822007-03-11 Ira Rosen <irar@il.ibm.com> 1283 1284 PR tree-optimization/29925 1285 * tree-data-ref.c (analyze_offset): Add a return value (bool) to 1286 indicate success/failure of the analysis. Add negation to subtrahend 1287 in case of subtraction. Fail if both operands contain constants. 1288 (create_data_ref): Fail if analyze_offset fails. 1289 12902007-03-10 Mark Mitchell <mark@codesourcery.com> 1291 1292 PR c++/30924 1293 * tree.c (walk_type_fields): Recurse into the element type of 1294 ARRAY_TYPEs if there is a pointer set. 1295 12962007-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1297 1298 * pa.c (attr_length_call): Revise condition for long pc-relative branch. 1299 (output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local 1300 calls on the SOM target. Don't use "LONG_PIC_PCREL" call sequence on 1301 SOM target. 1302 13032007-03-09 Richard Henderson <rth@redhat.com> 1304 1305 PR target/26090 1306 * target.h (targetm.asm.out.reloc_rw_mask): New. 1307 * target-def.h (TARGET_ASM_RELOC_RW_MASK): New. 1308 (TARGET_ASM_OUT): Use it. 1309 * targhooks.c, targhooks.h (default_reloc_rw_mask): New. 1310 * varasm.c (categorize_decl_for_section): Remove shlib argument; 1311 use the new reloc_rw_mask target hook instead. 1312 (default_section_type_flags_1): Merge into... 1313 (default_section_type_flags): ... here. 1314 (decl_readonly_section_1): Merge into... 1315 (decl_readonly_section): ... here. 1316 (default_elf_select_section_1): Merge into... 1317 (default_elf_select_section): ... here. 1318 (default_unique_section_1): Merge into... 1319 (default_unique_section): ... here. 1320 (compute_reloc_for_rtx_1, compute_reloc_for_rtx): New. 1321 (default_select_rtx_section): Use it. 1322 (default_elf_select_rtx_section): Likewise. 1323 * output.h: Update to match. 1324 * doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New. 1325 * config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New. 1326 (TARGET_ASM_RELOC_RW_MASK): New. 1327 * config/i386/i386.c (x86_64_elf_select_section): Adjust call 1328 to categorize_decl_for_section. 1329 (x86_64_elf_unique_section): Likewise. 1330 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION, 1331 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove. 1332 (TARGET_ASM_RELOC_RW_MASK): New. 1333 * config/ia64/ia64.c (ia64_rwreloc_select_section, 1334 ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove. 1335 (ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New. 1336 (TARGET_RWRELOC): Remove. 1337 (ia64_section_type_flags): Adjust call to default_section_type_flags. 1338 * config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New. 1339 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove. 1340 (rs6000_elf_select_section, rs6000_elf_unique_section): Remove. 1341 (rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New. 1342 (rs6000_xcoff_select_section): Use decl_readonly_section. 1343 (rs6000_xcoff_section_type_flags): Use default_section_type_flags. 1344 * config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New. 1345 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove. 1346 (TARGET_SECTION_TYPE_FLAGS): Remove. 1347 * config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New. 1348 13492007-03-08 Geoffrey Keating <geoffk@apple.com> 1350 1351 PR 31013 1352 * gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME 1353 is declared. 1354 * config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is 1355 passed, use shared libgcc. 1356 13572007-03-09 Alexandre Oliva <aoliva@redhat.com> 1358 1359 PR rtl-optimization/30643 1360 * cse.c (cse_insn): Recompute dest_hash after insert_regs for 1361 dest_addr_elt. 1362 13632007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com> 1364 1365 PR tree-opt/30045 1366 * tree-vrp.c (nonnull_arg_p): Treat the static decl as always 1367 non null. 1368 13692007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com> 1370 1371 PR middle-end/30729 1372 * stmt.c (warn_if_unused_value): VA_ARG_EXPR has side 1373 effects unknown to this function, return early. 1374 13752007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com> 1376 1377 PR tree-opt/28624 1378 * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary 1379 bitmap for EXECUTE_IF_SET_IN_BITMAP. 1380 13812006-03-09 Mark Shinwell <shinwell@codesourcery.com> 1382 Andrew MacLeod <amacleod@redhat.com> 1383 PR tree-optimization/29877 1384 * tree-outof-ssa.c (check_replaceable): Don't allow TER to replace 1385 an expression if the RHS is a register variable. 1386 13872007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com> 1388 1389 PR C/31072 1390 * c-decl.c (merge_decls): Don't call make_var_volatile. 1391 * varasm.c (make_var_volatile): Remove. 1392 * output.h (make_var_volatile): Remove. 1393 13942007-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 1395 1396 * builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl, 1397 llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with 1398 ATTR_CONST_NOTHROW_LIST. 1399 1400 * fold-const.c (tree_expr_nonnegative_p): Handle FIX_TRUNC_EXPR. 1401 14022007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com> 1403 1404 PR target/30406 1405 * config/rs6000/rs6000.c (rs6000_function_value): Look at bit size 1406 instead of precision. 1407 14082007-03-08 Volker Reichelt <reichelt@netcologne.de> 1409 1410 PR c++/30852 1411 * c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR. 1412 14132007-03-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org> 1414 1415 * c.opt (Waddress): New. 1416 * common.opt (Walways-true): Delete. 1417 (Wstring-literal-comparison): Delete. 1418 * doc/invoke.texi (Warning Options): Delete -Walways-true and 1419 -Wstring-literal-comparison. Add -Waddress. 1420 (Waddress): New. 1421 (Walways-true): Delete. 1422 (Wstring-literal-comparison): Delete. 1423 * doc/extend.texi (#pragma GCC diagnostic): Use -Wformat 1424 consistently instead of -Walways-true in example. 1425 * c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall. 1426 * c-typeck.c (parser_build_binary_op): Replace 1427 -Wstring-literal-comparison and -Walways-true with -Waddress. 1428 (build_binary_op): Likewise. 1429 * c-common.c (c_common_truthvalue_conversion): Likewise. 1430 14312007-03-07 Richard Henderson <rth@redhat.com> 1432 1433 PR target/30848 1434 * reg-stack.c (emit_swap_insn): If a malformed asm was seen, 1435 silently fix up the stack in the case of a missing register. 1436 14372007-03-06 David Daney <ddaney@avtrex.com> 1438 1439 * doc/install.texi (mips-*-*): Change recommended binutils 1440 version. 1441 14422007-03-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org> 1443 1444 * doc/invoke.texi (Warning Options): Replace -Werror- with 1445 -Werror=. 1446 * opts.c (common_handle_option): Likewise. 1447 14482007-03-06 Anatoly Sokolov <aesok@post.ru> 1449 1450 * config/avr/avr.c (avr_mcu_types): Add support for ATmega325P, 1451 ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162 1452 devices. 1453 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). 1454 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). 1455 14562007-03-06 Roger Sayle <roger@eyesopen.com> 1457 1458 PR middle-end/30744 1459 * fold-const.c (fold_binary) <EQ_EXPR>: Enforce type consistency 1460 when transforming ~X op C to X op' ~C. 1461 14622007-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1463 1464 * pa.md: In unamed move patterns, disparge copies between general 1465 and floating point registers using '?' modifier. Don't include 'f' 1466 constraint for register preferences in DImode, SImode, HImode and 1467 QImode patterns. Likewise for 'r' in DFmode and SFmode patterns. 1468 Remove constraints for copies between general and floating registers 1469 in soft-float DFmode pattern. 1470 (movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard 1471 floating register. 1472 (movsf): Likewise. 1473 14742007-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 1475 1476 * convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint 1477 conversion. 1478 14792007-03-05 Steve Ellcey <sje@cup.hp.com> 1480 1481 Backported from mainline 1482 PR debug/29614 1483 * cgraph.h (cgraph_varpool_last_needed_node): Make global. 1484 * cgraph.c (cgraph_varpool_last_needed_node): Ditto. 1485 * cgraphunit.c (cgraph_varpool_assemble_pending_decls): 1486 Set cgraph_varpool_last_needed_node to NULL. 1487 14882007/03/05 David Taylor <dtaylor@emc.com> 1489 1490 PR 31050 1491 * gcc.c: Correct copyright date in --version output. 1492 14932007-03-05 Brooks Moses <brooks.moses@codesourcery.com> 1494 1495 * c.opt: Remove -ffixed-form, -ffixed-line-length-none, and 1496 -ffixed-line-length-* options. 1497 14982007-03-05 David Edelsohn <edelsohn@gnu.ogr> 1499 1500 * config/rs6000/t-ppccomm: Always build libgcc2 for GNU/Linux 1501 with -mlong-double-128, except SPE. 1502 1503 * config/rs6000/darwin-ldouble.c: Only build new functions for 1504 __LONG_DOUBLE_128__. 1505 1506 Backport from mainline: 1507 2007-01-16 David Edelsohn <edelsohn@gnu.org> 1508 1509 * config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT. 1510 (strong_alias): Define. 1511 (__gcc_qmul): Provide non-FMA for soft-float. 1512 (__gcc_qdiv): Same. 1513 (__gcc_qneg): New. 1514 (__gcc_qeq): New. 1515 (__gcc_qle): New. 1516 (__gcc_qge): New. 1517 (__gcc_qunord): New. 1518 (__gcc_stoq): New. 1519 (__gcc_dtoq): New. 1520 (__gcc_qtos): New. 1521 (__gcc_qtod): New. 1522 (__gcc_qtoi): New. 1523 (__gcc_qtou): New. 1524 (__gcc_itoq): New. 1525 (__gcc_utoq): New. 1526 (fmsub): New. 1527 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize 1528 soft-float functions. 1529 * config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols. 1530 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn 1531 about long double soft float. 1532 15332007-03-05 Richard Guenther <rguenther@suse.de> 1534 1535 Backport from mainline: 1536 2007-02-28 Richard Guenther <rguenther@suse.de> 1537 1538 PR middle-end/30364 1539 * fold-const.c (fold_binary): Do not associate expressions 1540 with more than one variable for integer types that do not wrap. 1541 15422007-03-04 Eric Botcazou <ebotcazou@adacore.com> 1543 1544 PR ada/26797 1545 * doc/invoke.texi (-O2): Document that Tree-VRP is not turned on 1546 for the Ada compiler. 1547 15482007-03-02 Zdenek Dvorak <dvorakz@suse.cz> 1549 1550 PR tree-optimization/29902 1551 * tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if 1552 any involved ssa name appears in abnormal phi node. 1553 15542007-03-02 Eric Botcazou <ebotcazou@adacore.com> 1555 1556 * tree-sra.c (sra_walk_fns) <ldst>: Document new restriction. 1557 (sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use 1558 if the lhs has side-effects. 1559 <lhs_elt>: Treat the reference as a use if the rhs has side-effects. 1560 15612007-03-02 Paul Brook <paul@codesourcery.com> 1562 1563 * config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing 1564 modes to LDRD for DImode. 1565 (output_move_double): Fixup out of range ldrd/strd. 1566 (vfp_secondary_reload_class): Rename... 1567 (coproc_secondary_reload_class): ... to this. Add wb argument. 1568 * config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use 1569 coproc_secondary_reload_class for CLASS_IWMMXT. 1570 (SECONDARY_INPUT_RELOAD_CLASS): Ditto. 1571 * arm-protos.h (coproc_secondary_reload_class): Update prototype. 1572 15732007-03-02 Eric Botcazou <ebotcazou@adacore.com> 1574 1575 * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the 1576 entry by means of emit_insn_at_entry. 1577 15782007-03-01 Manuel Lopez-Ibanez <manu@gcc.gnu.org> 1579 1580 * doc/invoke.texi (Wextra): Delete outdated paragraph. 1581 15822007-02-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1583 1584 * pa/predicates.md (move_src_operand): Allow zero for mode. 1585 * pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode 1586 move pattern. 1587 15882007-02-27 Mike Stump <mrs@apple.com> 1589 1590 * config/darwin-crt3.c: Avoid compilation when compiling for a 1591 kext multilib. 1592 15932007-02-27 Andreas Schwab <schwab@suse.de> 1594 1595 * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi. 1596 15972007-02-26 Brooks Moses <brooks.moses@codesourcery.com> 1598 1599 * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency. 1600 16012007-02-26 Brooks Moses <brooks.moses@codesourcery.com> 1602 1603 * doc/include/gcc-common.texi (versionsubtitle): New macro. 1604 * doc/cpp.texi: Standardize title page. 1605 * doc/cppinternals.texi: Likewise. 1606 * doc/gcc.texi: Standardize title page, remove version number 1607 from copyright page. 1608 * doc/gccint.texi: Likewise. 1609 * doc/install.texi: Standardize title page, add table of 1610 contents. 1611 16122007-02-24 Mike Stump <mrs@apple.com> 1613 1614 * config/i386/i386.c (output_pic_addr_const): Stubify optimized 1615 symbols. 1616 16172007-02-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1618 1619 * pa.md (muldi3): Force subregs to registers in 64-bit expander. 1620 16212007-02-23 Mike Stump <mrs@apple.com> 1622 1623 * tlink.c (scan_linker_output): Parse linker messages from 1624 darwin9's linker better. 1625 16262007-02-21 Ira Rosen <irar@il.ibm.com> 1627 1628 * tree-ssa-alias.c: Include pointer-set.h 1629 * Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h. 1630 16312007-02-21 Jakub Jelinek <jakub@redhat.com> 1632 1633 Backported from mainline 1634 2006-12-20 Andrew Pinski <pinskia@gmail.com> 1635 PR middle-end/30143 1636 * omp-low.c (init_tmp_var): New function. 1637 (save_tmp_var): New function. 1638 (lower_omp_1): Use them for VAR_DECL. 1639 16402007-02-20 Alan Modra <amodra@bigpond.net.au> 1641 1642 PR target/29943 1643 * varasm.c (use_blocks_for_decl_p): Return false for decls with 1644 alias attribute. 1645 16462007-02-19 Eric Botcazou <ebotcazou@adacore.com> 1647 1648 * gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap 1649 due to calls to functions taking pointers as parameters. 1650 16512007-02-19 Richard Henderson <rth@redhat.com> 1652 1653 PR debug/29558 1654 * var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P 1655 in memory. 1656 16572007-02-18 Eric Botcazou <ebotcazou@adacore.com> 1658 1659 * tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR. 1660 16612007-02-18 Eric Botcazou <ebotcazou@adacore.com> 1662 1663 * calls.c (mem_overlaps_already_clobbered_arg_p): Return true 1664 for arg pointer based indexed addressing. 1665 16662007-02-18 Ira Rosen <irar@il.ibm.com> 1667 1668 * tree-ssa-alias.c (may_aliases_intersect): New function. 1669 * tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect 1670 for different tags. 1671 * tree-flow.h (may_aliases_intersect): Add function declaration. 1672 16732007-02-17 Alexandre Oliva <aoliva@redhat.com> 1674 1675 PR tree-optimization/30823 1676 * tree-sra.c (sra_build_assignment): Drop type-checking assert. 1677 16782007-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 1679 1680 PR other/27843 1681 * Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid 1682 nested double- and backquotes. 1683 16842007-02-15 Alexandre Oliva <aoliva@redhat.com> 1685 1686 * tree-sra.c (instantiate_missing_elements): Canonicalize 1687 bit-field types. 1688 (sra_build_assignment): New. 1689 (generate_copy_inout, generate_element_copy, 1690 generate_element_zero, generate_one_element_init): Use it. 1691 16922007-02-15 Kaz Kojima <kkojima@gcc.gnu.org> 1693 1694 PR rtl-optimization/29599 1695 Backport from mainline. 1696 * reload1.c (eliminate_regs_in_insn): Take the destination 1697 mode into account when computing the offset. 1698 16992007-02-13 Joseph S. Myers <joseph@codesourcery.com> 1700 1701 * doc/invoke.texi, doc/standards.texi: Refer to 1702 gcc-4.2/c99status.html. 1703 17042007-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1705 1706 PR target/30634 1707 * pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero 1708 CONST_DOUBLE and operand 0 is a hard register. 1709 (movdi): For 64-bit target, remove code to force CONST_DOUBLE to 1710 memory. Fail if operand 1 is a non-zero CONST_INT and operand 0 1711 is a hard floating-point register. 1712 17132007-02-06 Mark Mitchell <mark@codesourcery.com> 1714 1715 PR target/29487 1716 * tree.h (DECL_REPLACEABLE_P): New macro. 1717 * except.c (set_nothrow_function_flags): Likewise. 1718 17192007-02-07 Jakub Jelinek <jakub@redhat.com> 1720 1721 PR c++/30703 1722 * gimplify.c (gimplify_scan_omp_clauses): Remove special casing 1723 of INDIRECT_REF <RESULT_DECL>. 1724 17252007-02-06 Rask Ingemann Lamberisen <rask@sygehus.dk> 1726 1727 PR 30370 1728 * config/rs6000/t-ppccomm: Correct Makefile typo. 1729 17302007-02-06 Roger Sayle <roger@eyesopen.com> 1731 1732 PR libgomp/28296 1733 Backport from mainline. 1734 * config/darwin.h (CPP_SPEC): Handle -pthread, transforming 1735 it into -D_REENTRANT. 1736 17372007-02-05 Alexandre Oliva <aoliva@redhat.com> 1738 1739 PR debug/30189 1740 * dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE 1741 even if cv-qualification is the same. 1742 17432007-02-05 Geoffrey Keating <geoffk@apple.com> 1744 1745 * config/rs6000/darwin-tramp.asm (__trampoline_setup): Call 1746 __enable_execute_stack on completion. 1747 17482007-02-05 Bob Wilson <bob.wilson@acm.org> 1749 1750 * config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs. 1751 17522007-02-02 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 1753 1754 PR target/29682 1755 * config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to 1756 general or fp registers. Add comments. 1757 * config/ia64/ia64.md (reg_pred_prefix): Add comment. 1758 17592007-02-04 Richard Guenther <rguenther@suse.de> 1760 1761 Backport from mainline: 1762 2007-01-30 Richard Guenther <rguenther@suse.de> 1763 1764 PR middle-end/27657 1765 * dwarf2out.c (reference_to_unused): Query varpool if the 1766 variable was output. 1767 17682007-02-02 Mike Stump <mrs@apple.com> 1769 1770 * config.gcc (*-*-darwin*): Backport darwin9.h bits. 1771 * config/darwin9.h: Add. 1772 * config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add. 1773 (output_call): Use DARWIN_GENERATE_ISLANDS to decide when to 1774 generate a branch island. 1775 17762007-02-02 Hui-May Chang <hm.chang@apple.com> 1777 1778 Revert for x86 darwin: 1779 2005-06-19 Uros Bizjak <uros@kss-loka.si> 1780 1781 * config/i386/i386.c (ix86_function_arg_regno_p): Put back the 1782 code before the following patch under TARGET_MACHO. 1783 (ix86_function_value_regno_p): Likewise. 1784 17852007-02-02 Simon Martin <simartin@users.sourceforge.net> 1786 1787 PR c++/28266 1788 * gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is 1789 expanded only once even if an error occurs. 1790 17912007-02-02 Jakub Jelinek <jakub@redhat.com> 1792 1793 PR middle-end/30473 1794 * builtins.c (fold_builtin_sprintf): Do not attempt to optimize 1795 sprintf (str, "%s"). Do not optimize sprintf (str, "nopercent", p++). 1796 17972007-02-01 Guy Martin <gmsoft@gentoo.org> 1798 1799 * pa.md (tp_load): Correct mfctl instruction syntax. 1800 18012007-02-01 Geoffrey Keating <geoffk@apple.com> 1802 1803 * config/rs6000/rs6000.c (rs6000_stack_info): Correct 1804 altivec_padding_size calculation on AIX. Improve comment, add 1805 assert to verify that it's right. 1806 18072007-01-31 Anatoly Sokolov <aesok@post.ru> 1808 1809 PR target/19087 1810 * config/avr/avr.c (DWARF2_ADDR_SIZE): Define. 1811 18122007-01-30 Richard Guenther <rguenther@suse.de> 1813 1814 PR middle-end/30313 1815 * passes.c (execute_one_pass): Reset in_gimple_form to not 1816 confuse non-unit-at-a-time mode. 1817 18182007-01-27 Anatoly Sokolov <aesok@post.ru> 1819 1820 * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_MUL__. 1821 18222007-01-29 Mike Stump <mrs@apple.com> 1823 1824 * doc/gccint.texi (Top): Rename Loop Representation to Loop 1825 Analysis and Representation to resolve case insensitive conflict. 1826 * doc/loop.texi (Loop Analysis and Representation): Likewise. 1827 18282007-01-29 Josh Conner <jconner@apple.com> 1829 1830 PR middle-end/29683 1831 * calls.c (compute_argument_addresses): Set stack and stack_slot 1832 for partial args, too. 1833 (store_one_arg): Use locate.size.constant for the size when 1834 generating a save_area. 1835 18362007-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 1837 1838 * doc/sourcebuild.texi: Add comma for clarity. 1839 * doc/extend.texi: Fix some typos. 1840 * doc/passes.texi: Likewise. 1841 * doc/cppinternals.texi: Likewise. 1842 * doc/c-tree.texi: Likewise. 1843 * doc/tree-ssa.texi: Likewise. 1844 * doc/install.texi: Likewise. 1845 18462007-01-26 Zdenek Dvorak <dvorakz@suse.cz> 1847 1848 PR tree-optimization/29516 1849 * tree-ssa-address.c (tree_mem_ref_addr, add_to_parts, 1850 most_expensive_mult_to_index, addr_to_parts, 1851 create_mem_ref, maybe_fold_tmr): Make the type of 1852 fields of TARGET_MEM_REF sizetype. 1853 (move_fixed_address_to_symbol, move_pointer_to_base, 1854 aff_combination_remove_elt): New functions. 1855 * tree.def (TARGET_MEM_REF): Add comment on types of 1856 the operands. 1857 * gcc.dg/tree-ssa/loop-20.c: New test. 1858 18592007-01-25 Geoffrey Keating <geoffk@apple.com> 1860 1861 PR 25127 1862 * config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin, 1863 save Altivec registers in an eh_return function. 1864 (compute_vrsave_mask): Likewise. 1865 (rs6000_stack_info): Correct AIX/Darwin stack alignment computation 1866 for saving Altivec registers. 1867 (rs6000_emit_prologue): Don't allocate stack twice in 1868 eh_return function. Correct expected value of altivec_save_offset 1869 when using save_world. Describe save of R0 to stack when using 1870 save_world. Describe stack pointer adjustment when using 1871 save_world. Remove duplicated eh_return parameter register saving. 1872 Update sp_offset variable after save_world. 1873 * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove 1874 darwin-world.asm. 1875 (LIB2FUNCS_EXTRA): Add darwin-world.asm. 1876 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64 1877 implies Altivec. 1878 18792007-01-24 Geoffrey Keating <geoffk@apple.com> 1880 1881 * unwind-dw2.c (execute_stack_op): Handle DW_OP_swap. 1882 18832007-01-24 Jakub Jelinek <jakub@redhat.com> 1884 1885 PR middle-end/27416 1886 * gimplify.c (omp_check_private): New function. 1887 (gimplify_scan_omp_clauses): Use it for 1888 firstprivate/lastprivate/reduction. 1889 1890 PR middle-end/30494 1891 * gimplify.c (omp_add_variable): Don't call omp_notice_variable 1892 on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs. 1893 1894 PR middle-end/30421 1895 * omp-low.c (lower_omp_for_lastprivate): Add dlist argument. 1896 If lower_lastprivate_clauses emits some statements, append them 1897 to dlist rather than body_p and to body_p append an initializer. 1898 (lower_omp_for): Adjust caller. 1899 19002007-01-21 Eric Botcazou <ebotcazou@libertysurf.fr> 1901 1902 PR rtl-optimization/29329 1903 * combine.c (replaced_rhs_insn): Rename to i2mod. 1904 (replaced_rhs_value): Rename to i2mod_new_rhs. 1905 (i2mod_old_rhs): New global variable. 1906 (combine_instructions): Adjust for above change. Save a copy of 1907 the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL 1908 note are substituted in the second instruction. 1909 (distribute_notes) <REG_DEAD>: Adjust for above change. Do not 1910 ditch the note if it pertains to the second eliminated register 1911 and this register is mentioned in i2mod_old_rhs. 1912 1913 Revert: 1914 2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr> 1915 1916 * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past 1917 the insn to which the note was originally attached. 1918 19192007-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1920 1921 * pa.c (output_move_double): Change array size of xoperands to 4. 1922 19232007-01-17 Eric Christopher <echristo@apple.com> 1924 1925 Backport from mainline: 1926 2006-12-18 Roger Sayle <roger@eyesopen.com> 1927 Eric Christopher <echristo@apple.com> 1928 1929 PR target/29302 1930 * real.c (real_maxval): Correctly handle IBM extended double format. 1931 19322007-01-17 Tom Tromey <tromey@redhat.com> 1933 1934 * doc/sourcebuild.texi (libgcj Tests): Use sourceware.org. 1935 * doc/install.texi (Testing): Use sourceware.org. 1936 (Binaries): Likewise. 1937 (Specific): Likewise. 1938 * doc/contrib.texi (Contributors): Use sourceware.org. 1939 19402007-01-15 Joseph S. Myers <joseph@codesourcery.com> 1941 1942 * config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from 1943 glibc CVS. 1944 19452007-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1946 1947 * pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine. 1948 * pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS. 1949 (ASM_OUTPUT_INTERNAL_LABEL): Define. 1950 19512007-01-10 Ralf Cors��pius <ralf.corsepius@rtems.org> 1952 1953 * config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS. 1954 19552007-01-09 Nicolas Pitre <nico@cam.org> 1956 1957 PR target/30173 1958 * arm/ieee754-df.S (Lad_s): Also test the low word of X for zero. 1959 19602007-01-08 Nick Clifton <nickc@redhat.com> 1961 1962 * config/frv/predicates.md (reg_or_0_operand): Accept 1963 CONST_DOUBLEs. 1964 19652007-01-08 Ralf Cors��pius <ralf.corsepius@rtems.org> 1966 1967 * config/bfin/rtems.h, config/bfin/t-rtems: New. 1968 * config.gcc: Add bfin*-rtems*. 1969 19702007-01-08 Chen liqin <liqin@sunnorth.com.cn> 1971 * config/score/t-score-elf (MULTILIB_OPTIONS): Change. 1972 * config/score/predicates.md (const_uimm5, sr0_operand, const_simm12, 1973 const_simm15, const_pow2, const_npow2): Added. 1974 * config/score/misc.md (insv, extv, extzv, movmemsi, 1975 move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug. 1976 * config/score/score.c (score_address_cost, score_select_cc_mode): 1977 Added. 1978 Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define. 1979 Update score_rtx_costs for MACRO TARGET_RTX_COSTS. 1980 Update score_print_operand. 1981 * config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added. 1982 Adjust register allocate order and update some macro define. 1983 * config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store, 1984 mdx_block_move_straight, mdx_block_move_loop_head, 1985 mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop, 1986 mdx_block_move): Added. 1987 (mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi, 1988 mdp_limm): Updated and fix some bug and typo. 1989 * config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated. 1990 (movsf, movdf, doloop_end): Added. 1991 19922007-01-05 Richard Guenther <rguenther@suse.de> 1993 1994 PR middle-end/27826 1995 * tree.c (get_narrower): Do not construct COMPONENT_REFs 1996 with mismatched types. Instead explicitly build a 1997 conversion NOP_EXPR. 1998 19992007-01-05 Jakub Jelinek <jakub@redhat.com> 2000 2001 PR c/30360 2002 * libgcc2.c (__divdc3): Compare c and d against 0.0 instead of 2003 denom against 0.0. 2004 20052007-01-03 Jakub Jelinek <jakub@redhat.com> 2006 2007 * unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define. 2008 (struct _Unwind_Context): Rename args_size to flags, remove 2009 signal_frame field, add a new args_size field and version field. 2010 (_Unwind_IsSignalFrame, _Unwind_SetSignalFrame, 2011 _Unwind_IsExtendedContext): New inline functions. 2012 (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): 2013 Assume by_value array is only present if _Unwind_IsExtendedContext. 2014 (_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use 2015 _Unwind_IsSignalFrame. 2016 (__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT. 2017 (uw_update_context_1): Use _Unwind_SetSignalFrame. 2018 (uw_init_context_1): Initialize context->flags to 2019 EXTENDED_CONTEXT_BIT. 2020 * config/rs6000/linux-unwind.h (frob_update_context): Use 2021 _Unwind_SetSignalFrame. 2022 20232007-01-01 Mike Stump <mrs@apple.com> 2024 2025 * configure.ac: Remove support for building with Apple's gcc-3.1. 2026 20272007-01-01 Andreas Schwab <schwab@suse.de> 2028 2029 PR target/29166 2030 * config/ia64/ia64.c (ia64_compute_frame_size): Account space for 2031 save of BR0 in extra_spill_size instead of spill_size. 2032 (ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill 2033 area. 2034 (ia64_expand_epilogue): Restore BR0 from its new location. 2035