1 2007-07-19 Release Manager
5 2007-07-18 Paolo Bonzini <bonzini@gnu.org>
9 2007-07-09 Paolo Bonzini <bonzini@gnu.org>
12 * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
14 2007-07-06 Paolo Bonzini <bonzini@gnu.org>
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.
25 2007-07-16 Paul Brook <paul@codesourcery.com>
29 * config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.
31 2007-07-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
34 * config/mips/iris6.h (LIBGCC_SPEC): Add libm.
36 2007-07-09 Paolo Bonzini <bonzini@gnu.org>
39 * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
41 2007-07-09 Uros Bizjak <ubizjak@gmail.com>
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.
47 2007-07-07 Anatoly Sokolov <aesok@post.ru>
50 * config/avr/avr.c (avr_naked_function_p): Handle receiving a type
52 (avr_attribute_table): Make "naked" attribute apply to function types
54 (avr_handle_fntype_attribute): New function.
56 2007-07-06 Paolo Bonzini <bonzini@gnu.org>
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.
67 2007-07-06 Uros Bizjak <ubizjak@gmail.com>
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
74 2007-07-04 Richard Guenther <rguenther@suse.de>
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.
80 2007-07-04 Uros Bizjak <ubizjak@gmail.com>
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
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.
100 2007-07-04 Kaz Kojima <kkojima@gcc.gnu.org>
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.
108 2007-07-03 Richard Guenther <rguenther@suse.de>
110 Backport from mainline:
111 2006-12-11 Zdenek Dvorak <dvorakz@suse.cz>
113 PR rtl-optimization/30113
114 * loop-iv.c (implies_p): Require the mode of the operands to be
117 2007-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
120 * gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
121 (__gthrw_pragma): Provide default definition.
123 * gthr-posix.c (__gthrw_pragma): Define.
125 2007-07-02 Jakub Jelinek <jakub@redhat.com>
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.
136 2007-06-30 Alexandre Oliva <aoliva@redhat.com>
138 * dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
141 2007-06-28 Seongbae Park <seongbae.park@gmail.com>
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.
147 2007-06-28 Jakub Jelinek <jakub@redhat.com>
149 * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
150 decl is non-external for AIX ABI.
152 2007-06-28 David Edelsohn <edelsohn@gnu.org>
154 * config/rs6000/predicates.md (current_file_function_operand):
155 Ensure the symbol is non-external for AIX ABI.
157 2007-06-21 H.J. Lu <hongjiu.lu@intel.com>
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.
163 2007-06-21 Jakub Jelinek <jakub@redhat.com>
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
172 2007-06-21 Uros Bizjak <ubizjak@gmail.com>
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.
182 2007-06-20 Jakub Jelinek <jakub@redhat.com>
185 * gimplify.c (gimplify_asm_expr): Issue error if type is addressable
189 * calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
190 if ACCUMULATE_OUTGOING_ARGS.
192 2007-06-20 Kaz Kojima <kkojima@gcc.gnu.org>
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
201 2007-06-19 Richard Guenther <rguenther@suse.de>
202 Michael Matz <matz@suse.de>
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
209 (push_fields_onto_fieldstack): Create fields for empty
212 2007-06-19 Jakub Jelinek <jakub@redhat.com>
214 PR tree-optimization/32353
215 * tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.
217 2007-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
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.
223 2007-06-15 Diego Novillo <dnovillo@google.com>
226 * tree-ssa-operands.c (build_ssa_operands): Initially assume
227 that the statement does not take any addresses.
229 2007-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
231 * config/sparc/sparc.c (sparc_override_options): Initialize
234 2007-06-09 Ian Lance Taylor <iant@google.com>
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.
241 2007-06-08 Kaz Kojima <kkojima@gcc.gnu.org>
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.
248 2007-06-06 Ian Lance Taylor <iant@google.com>
250 * fold-const.c (merge_ranges): If range_successor or
251 range_predecessor fail, just return 0.
253 2007-06-05 Ian Lance Taylor <iant@google.com>
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
259 (test_for_singularity): Likewise.
261 2007-06-04 Ian Lance Taylor <iant@google.com>
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.
268 2007-05-31 H.J. Lu <hongjiu.lu@intel.com>
270 Backport from mainline:
271 2007-05-25 H.J. Lu <hongjiu.lu@intel.com>
273 * config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it
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.
280 2007-05-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
282 Backport from mainline:
283 2007-05-05 Aurelien Jarno <aurelien@aurel32.net>
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
293 2007-05-27 Daniel Berlin <dberlin@dberlin.org>
296 Backport PTA solver from mainline
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
303 2007-05-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
305 * tree-vrp.c (compare_names): Initialize sop.
307 2007-05-30 Jakub Jelinek <jakub@redhat.com>
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.
313 2007-05-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
316 * fold-const.c (tree_expr_nonnegative_warnv_p): Don't
317 return true when truth_value_p is true and the type
320 2007-05-27 H.J. Lu <hongjiu.lu@intel.com>
322 Backport from mainline:
323 2007-05-25 Uros Bizjak <ubizjak@gmail.com>
325 * config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate
326 "memory" attribute for "sseishft" type insn without operands[2].
328 2007-05-25 H.J. Lu <hongjiu.lu@intel.com>
330 * config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift.
332 2007-05-22 Ian Lance Taylor <iant@google.com>
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.
339 2007-05-23 Chen Liqin <liqin@sunnorth.com.cn>
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.
346 * config/score/score.c (score_print_operand): makes sure that only lower
349 2007-05-21 Uros Bizjak <ubizjak@gmail.com>
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.
360 2007-05-21 Uros Bizjak <ubizjak@gmail.com>
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.
367 2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
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.
375 2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
378 Backport from mainline.
379 * config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
382 2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
385 Backport from mainline.
386 * config/sh/sh.c (sh_adjust_cost): Use the result of single_set
389 2007-05-20 Kaz Kojima <kkojima@gcc.gnu.org>
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
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
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.
411 2007-05-18 Joseph Myers <joseph@codesourcery.com>
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
420 2007-05-17 Ian Lance Taylor <iant@google.com>
422 PR tree-optimization/31953
423 * tree-vrp.c (set_value_range_to_value): Add equiv parameter.
425 (set_value_range_to_null): Call set_value_range_to_value.
426 (extract_range_from_comparison): Likewise.
428 2007-05-17 Eric Botcazou <ebotcazou@libertysurf.fr>
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.
434 2007-05-14 Mark Mitchell <mark@codesourcery.com>
436 * BASE-VER: Set to 4.2.1.
437 * DEV-PHASE: Set to prerelease.
439 2007-05-13 Release Manager
441 * GCC 4.2.0 released.
443 2007-05-12 Richard Guenther <rguenther@suse.de>
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.
449 2007-05-01 Ian Lance Taylor <iant@google.com>
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
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.
464 2007-05-01 Joseph Myers <joseph@codesourcery.com>
466 * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo.
468 2007-04-27 Anatoly Sokolov <aesok@post.ru>
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.).
475 2007-04-27 Ian Lance Taylor <iant@google.com>
478 * tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or
479 TYPE_MAX_VALUE exist, convert them to the new type.
481 2007-04-26 Ian Lance Taylor <iant@google.com>
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
488 2007-04-26 Ulrich Weigand <uweigand@de.ibm.com>
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.
495 2007-04-26 Richard Guenther <rguenther@suse.de>
496 Daniel Berlin <dberlin@dberlin.org>
498 PR tree-optimization/30567
499 * tree-ssa-structalias.c (update_alias_info): Record dereference
500 also if ESCAPE_STORED_IN_GLOBAL.
502 2007-04-26 Jakub Jelinek <jakub@redhat.com>
505 * tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE.
507 PR tree-optimization/30558
508 * tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW
509 clear this_state.prev_try.
511 2007-04-25 Anatoly Sokolov <aesok@post.ru>
514 * config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine.
516 2007-04-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
517 Roger Sayle <roger@eyesopen.com>
520 * expmed.c (make_tree): Use the correct type, i.e. the inner
521 type, when constructing the individual elements of a CONST_VECTOR.
523 2007-04-24 Ian Lance Taylor <iant@google.com>
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.
537 2007-04-24 Ian Lance Taylor <iant@google.com>
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.
547 2007-04-24 Andreas Krebbel <krebbel1@de.ibm.com>
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.
555 2007-04-24 Daniel Franke <franke.daniel@gmail.com>
557 * doc/invoke.texi: Removed leading '-' from option index entries.
559 2007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
562 * expr.c (reduce_to_bit_field_precision): Handle
565 2007-04-20 Richard Henderson <rth@redhat.com>
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.
581 2007-04-21 Richard Guenther <rguenther@suse.de>
584 * fold-const.c (fold_unary): Call fold_convert_const on the
587 2007-04-20 Richard Henderson <rth@redhat.com>
589 * config/alpha/linux.h (CPP_SPEC): Undef before redefine.
591 2007-04-20 Bernd Schmidt <bernd.schmidt@analog.com>
593 * reload.c (combine_reloads): When trying to use a dying register,
594 check whether it's uninitialized and don't use if so.
596 2007-04-20 Jakub Jelinek <jakub@redhat.com>
598 * config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED
599 for __builtin_ia32_cmpordss.
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.
607 2007-04-19 Eric Botcazou <ebotcazou@libertysurf.fr>
609 PR rtl-optimization/29841
610 * cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
612 * sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
613 that may cause control flow transfer from being moved.
615 2007-04-18 Anatoly Sokolov <aesok@post.ru>
617 * config/avr/avr.c (ptrreg_to_str): Replace error() with
618 output_operand_lossage().
620 2007-04-17 Anatoly Sokolov <aesok@post.ru>
623 * config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
626 2007-04-17 Jan Hubicka <jh@suse.cz>
629 * dwarf2out.c (reference_to_unused): Ask cgraph for functions
630 availablility; add more sanity checking; ask varpool only about
633 2007-04-17 H.J. Lu <hongjiu.lu@intel.com>
635 * Backport from mainline:
636 2007-04-17 H.J. Lu <hongjiu.lu@intel.com>
638 * config/i386/sse.md (sse_vmaddv4sf3): Use register_operand
640 (sse_vmmulv4sf3): Likewise.
641 (sse2_vmaddv2df3): Likewise.
642 (sse2_vmmulv2df3): Likewise.
644 2007-04-16 Matthias Klose <doko@debian.org>
646 * config/alpha/linux.h (CPP_SPEC): Define.
647 * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend.
649 2007-04-16 Anatoly Sokolov <aesok@post.ru>
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
655 * config/avr/avr.h (LINK_SPEC): Simplify.
657 2007-04-16 Jan Hubicka <jh@suse.cz>
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.
666 2007-04-16 H.J. Lu <hongjiu.lu@intel.com>
668 * Backport from mainline:
669 2007-04-16 H.J. Lu <hongjiu.lu@intel.com>
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
676 2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
679 * c-decl.c (finish_decl): Grab the type of the decl after the call
682 2007-04-14 Jakub Jelinek <jakub@redhat.com>
685 * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
686 post dominators and cleanup cfg before returning.
688 2007-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
690 * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
691 null before emitting a .nsubspa directive.
693 2007-04-08 Anatoly Sokolov <aesok@post.ru>
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
703 2007-04-07 Anatoly Sokolov <aesok@post.ru>
706 * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
709 2007-04-05 Anatoly Sokolov <aesok@post.ru>
712 * config/avr/avr.c (avr_handle_fndecl_attribute): Use the
713 DECL_ASSEMBLER_NAME, not the DECL_NAME.
715 2007-04-04 Richard Henderson <rth@redhat.com>
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
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.
732 2007-04-04 Chen liqin <liqin@sunnorth.com.cn>
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.
745 2007-04-03 Stuart Hastings <stuart@apple.com>
748 * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile
750 * cse.c (record_jump_equiv): Bail out on CCmode comparisons.
752 2007-04-03 Jakub Jelinek <jakub@redhat.com>
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
760 2007-04-02 Eric Christopher <echristo@apple.com>
762 * doc/invoke.texi (i386 and x86-64 Options): Document -m64
763 limitations on darwin.
765 2007-04-02 Anatoly Sokolov <aesok@post.ru>
768 * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
770 2007-04-02 H.J. Lu <hongjiu.lu@intel.com>
772 * Backport from mainline:
773 2007-03-28 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
776 * config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.
778 2007-03-30 Anatoly Sokolov <aesok@post.ru>
780 * config/avr/avr.c (avr_override_options): Clear
781 'flag_delete_null_pointer_checks'.
783 2007-03-29 Michael Matz <matz@suse.de>
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
790 * config/i386/sync.md (sync_double_compare_and_swapdi_pic,
791 sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
794 2007-03-28 Mike Stump <mrs@apple.com>
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.
800 2007-03-27 Anatoly Sokolov <aesok@post.ru>
802 * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
805 2007-03-26 Ian Lance Taylor <iant@google.com>
807 PR tree-optimization/31345
808 * tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
809 [+INF, +INF(OVF)] into VARYING.
811 2007-03-23 Martin Michlmayr <tbm@cyrius.com>
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.
817 2007-03-21 Mike Stump <mrs@apple.com>
819 * c.opt: Fixup for Objective-C/C++.
821 2007-03-21 Richard Henderson <rth@redhat.com>
824 * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
825 * config/i386/mmintrin.h (__m64): Likewise.
826 * config/i386/xmmintrin.h (__m128): Likewise.
828 2007-03-20 Jakub Jelinek <jakub@redhat.com>
831 * c-typeck.c (convert_for_assignment): Call comptypes for
832 RECORD_TYPE or UNION_TYPE.
835 * reload1.c (reload): Do invalid ASM checking after
836 cleanup_subreg_operands.
838 2007-03-19 Jeff Law <law@redhat.com>
840 * tree-cfg.c (find_taken_edge): Tighten conditions for
841 optimizing computed gotos.
843 2007-03-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
845 * pa.c (attr_length_call): Partially revert change of 2007-03-09.
846 (output_call): Likewise.
848 2007-03-16 Alexandre Oliva <aoliva@redhat.com>
851 * dwarf2out.c (force_type_die): Adjust comment.
852 (dwarf2out_imported_module_or_decl): Handle base AT_import types.
854 2007-03-15 Seongbae Park <seongbae.park@gmail.com>
856 PR tree-optimization/30590
857 * tree-nrv.c (tree_nrv): Check for the partial update
860 2007-03-14 Ian Lance Taylor <iant@google.com>
862 * tree-vrp.c (value_inside_range): Ignore fold warnings.
864 2007-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
867 * pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for
870 2007-03-12 Brooks Moses <brooks.moses@codesourcery.com>
872 * doc/extend.texi: Edit "gnu_inline" documentation.
873 * doc/invoke.texi: Edit "-fgnu89-inline" documentation.
875 2007-03-12 Brooks Moses <brooks.moses@codesourcery.com>
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.
881 2007-03-12 Daniel Berlin <dberlin@dberlin.org>
883 Fix PR tree-optimization/28544
884 * tree-ssa-operands.c (add_virtual_operand):
885 Move assert triggering on aliasing violations into
888 2007-03-12 Ian Lance Taylor <iant@google.com>
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__.
905 2007-03-12 Richard Henderson <rth@redhat.com>
907 * config/alpha/alpha.c (alpha_elf_section_type_flags): New.
908 (TARGET_SECTION_TYPE_FLAGS): New.
910 2007-03-12 Richard Henderson <rth@redhat.com>
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.
917 2007-02-14 Richard Guenther <rguenther@suse.de>
919 Backport from mainline:
920 * flags.h (issue_strict_overflow_warning): Convert to a macro.
922 2007-03-11 Ian Lance Taylor <iant@google.com>
924 Backport -fstrict-overflow/-Wstrict-overflow from mainline:
925 2007-03-11 Ian Lance Taylor <iant@google.com>
927 * tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
928 the *_DIV_EXPR codes correctly with overflow infinities.
930 2007-03-09 Ian Lance Taylor <iant@google.com>
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.
936 2007-03-08 Ian Lance Taylor <iant@google.com>
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
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
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.
966 2007-03-05 Ian Lance Taylor <iant@google.com>
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.
971 2007-03-02 Ian Lance Taylor <iant@google.com>
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.
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.
1008 2007-02-13 Ian Lance Taylor <iant@google.com>
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
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
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
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
1054 (struct fold_stmt_r_data): Add stmt field.
1055 (fold_stmt_r): Defer fold overflow warnings until we know we
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):
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
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.
1090 2007-01-27 Ian Lance Taylor <iant@google.com>
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.
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):
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
1133 2007-01-17 Ian Lance Taylor <iant@google.com>
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
1142 (VEC_OP (T,A,reserve)) [all versions]: Remove handling of
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
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.
1157 2007-03-11 Roger Sayle <roger@eyesopen.com>
1158 Andrew Pinski <andrew_pinski@playstation.sony.com>
1161 * fold-const.c (fold_relational_const): Add back compile-time
1162 evaluation of complex constant equality/inequality comparisons.
1164 2007-03-11 Ira Rosen <irar@il.ibm.com>
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.
1172 2007-03-10 Mark Mitchell <mark@codesourcery.com>
1175 * tree.c (walk_type_fields): Recurse into the element type of
1176 ARRAY_TYPEs if there is a pointer set.
1178 2007-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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
1185 2007-03-09 Richard Henderson <rth@redhat.com>
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.
1231 2007-03-08 Geoffrey Keating <geoffk@apple.com>
1234 * gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
1236 * config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
1237 passed, use shared libgcc.
1239 2007-03-09 Alexandre Oliva <aoliva@redhat.com>
1241 PR rtl-optimization/30643
1242 * cse.c (cse_insn): Recompute dest_hash after insert_regs for
1245 2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
1248 * tree-vrp.c (nonnull_arg_p): Treat the static decl as always
1251 2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
1254 * stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
1255 effects unknown to this function, return early.
1257 2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
1260 * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary
1261 bitmap for EXECUTE_IF_SET_IN_BITMAP.
1263 2006-03-09 Mark Shinwell <shinwell@codesourcery.com>
1264 Andrew MacLeod <amacleod@redhat.com>
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.
1269 2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
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.
1276 2007-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1278 * builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
1279 llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
1280 ATTR_CONST_NOTHROW_LIST.
1282 * fold-const.c (tree_expr_nonnegative_p): Handle FIX_TRUNC_EXPR.
1284 2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
1287 * config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
1288 instead of precision.
1290 2007-03-08 Volker Reichelt <reichelt@netcologne.de>
1293 * c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
1295 2007-03-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
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.
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.
1313 2007-03-07 Richard Henderson <rth@redhat.com>
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.
1319 2007-03-06 David Daney <ddaney@avtrex.com>
1321 * doc/install.texi (mips-*-*): Change recommended binutils
1324 2007-03-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1326 * doc/invoke.texi (Warning Options): Replace -Werror- with
1328 * opts.c (common_handle_option): Likewise.
1330 2007-03-06 Anatoly Sokolov <aesok@post.ru>
1332 * config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
1333 ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162
1335 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1336 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1338 2007-03-06 Roger Sayle <roger@eyesopen.com>
1341 * fold-const.c (fold_binary) <EQ_EXPR>: Enforce type consistency
1342 when transforming ~X op C to X op' ~C.
1344 2007-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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
1356 2007-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1358 * convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
1361 2007-03-05 Steve Ellcey <sje@cup.hp.com>
1363 Backported from mainline
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.
1370 2007/03/05 David Taylor <dtaylor@emc.com>
1373 * gcc.c: Correct copyright date in --version output.
1375 2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
1377 * c.opt: Remove -ffixed-form, -ffixed-line-length-none, and
1378 -ffixed-line-length-* options.
1380 2007-03-05 David Edelsohn <edelsohn@gnu.ogr>
1382 * config/rs6000/t-ppccomm: Always build libgcc2 for GNU/Linux
1383 with -mlong-double-128, except SPE.
1385 * config/rs6000/darwin-ldouble.c: Only build new functions for
1386 __LONG_DOUBLE_128__.
1388 Backport from mainline:
1389 2007-01-16 David Edelsohn <edelsohn@gnu.org>
1391 * config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
1392 (strong_alias): Define.
1393 (__gcc_qmul): Provide non-FMA for soft-float.
1399 (__gcc_qunord): 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.
1415 2007-03-05 Richard Guenther <rguenther@suse.de>
1417 Backport from mainline:
1418 2007-02-28 Richard Guenther <rguenther@suse.de>
1421 * fold-const.c (fold_binary): Do not associate expressions
1422 with more than one variable for integer types that do not wrap.
1424 2007-03-04 Eric Botcazou <ebotcazou@adacore.com>
1427 * doc/invoke.texi (-O2): Document that Tree-VRP is not turned on
1428 for the Ada compiler.
1430 2007-03-02 Zdenek Dvorak <dvorakz@suse.cz>
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.
1436 2007-03-02 Eric Botcazou <ebotcazou@adacore.com>
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.
1443 2007-03-02 Paul Brook <paul@codesourcery.com>
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.
1455 2007-03-02 Eric Botcazou <ebotcazou@adacore.com>
1457 * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
1458 entry by means of emit_insn_at_entry.
1460 2007-03-01 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1462 * doc/invoke.texi (Wextra): Delete outdated paragraph.
1464 2007-02-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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
1470 2007-02-27 Mike Stump <mrs@apple.com>
1472 * config/darwin-crt3.c: Avoid compilation when compiling for a
1475 2007-02-27 Andreas Schwab <schwab@suse.de>
1477 * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
1479 2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
1481 * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
1483 2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
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
1494 2007-02-24 Mike Stump <mrs@apple.com>
1496 * config/i386/i386.c (output_pic_addr_const): Stubify optimized
1499 2007-02-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1501 * pa.md (muldi3): Force subregs to registers in 64-bit expander.
1503 2007-02-23 Mike Stump <mrs@apple.com>
1505 * tlink.c (scan_linker_output): Parse linker messages from
1506 darwin9's linker better.
1508 2007-02-21 Ira Rosen <irar@il.ibm.com>
1510 * tree-ssa-alias.c: Include pointer-set.h
1511 * Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h.
1513 2007-02-21 Jakub Jelinek <jakub@redhat.com>
1515 Backported from mainline
1516 2006-12-20 Andrew Pinski <pinskia@gmail.com>
1518 * omp-low.c (init_tmp_var): New function.
1519 (save_tmp_var): New function.
1520 (lower_omp_1): Use them for VAR_DECL.
1522 2007-02-20 Alan Modra <amodra@bigpond.net.au>
1525 * varasm.c (use_blocks_for_decl_p): Return false for decls with
1528 2007-02-19 Eric Botcazou <ebotcazou@adacore.com>
1530 * gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap
1531 due to calls to functions taking pointers as parameters.
1533 2007-02-19 Richard Henderson <rth@redhat.com>
1536 * var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
1539 2007-02-18 Eric Botcazou <ebotcazou@adacore.com>
1541 * tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
1543 2007-02-18 Eric Botcazou <ebotcazou@adacore.com>
1545 * calls.c (mem_overlaps_already_clobbered_arg_p): Return true
1546 for arg pointer based indexed addressing.
1548 2007-02-18 Ira Rosen <irar@il.ibm.com>
1550 * tree-ssa-alias.c (may_aliases_intersect): New function.
1551 * tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect
1553 * tree-flow.h (may_aliases_intersect): Add function declaration.
1555 2007-02-17 Alexandre Oliva <aoliva@redhat.com>
1557 PR tree-optimization/30823
1558 * tree-sra.c (sra_build_assignment): Drop type-checking assert.
1560 2007-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1563 * Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
1564 nested double- and backquotes.
1566 2007-02-15 Alexandre Oliva <aoliva@redhat.com>
1568 * tree-sra.c (instantiate_missing_elements): Canonicalize
1570 (sra_build_assignment): New.
1571 (generate_copy_inout, generate_element_copy,
1572 generate_element_zero, generate_one_element_init): Use it.
1574 2007-02-15 Kaz Kojima <kkojima@gcc.gnu.org>
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.
1581 2007-02-13 Joseph S. Myers <joseph@codesourcery.com>
1583 * doc/invoke.texi, doc/standards.texi: Refer to
1584 gcc-4.2/c99status.html.
1586 2007-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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.
1595 2007-02-06 Mark Mitchell <mark@codesourcery.com>
1598 * tree.h (DECL_REPLACEABLE_P): New macro.
1599 * except.c (set_nothrow_function_flags): Likewise.
1601 2007-02-07 Jakub Jelinek <jakub@redhat.com>
1604 * gimplify.c (gimplify_scan_omp_clauses): Remove special casing
1605 of INDIRECT_REF <RESULT_DECL>.
1607 2007-02-06 Rask Ingemann Lamberisen <rask@sygehus.dk>
1610 * config/rs6000/t-ppccomm: Correct Makefile typo.
1612 2007-02-06 Roger Sayle <roger@eyesopen.com>
1615 Backport from mainline.
1616 * config/darwin.h (CPP_SPEC): Handle -pthread, transforming
1617 it into -D_REENTRANT.
1619 2007-02-05 Alexandre Oliva <aoliva@redhat.com>
1622 * dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
1623 even if cv-qualification is the same.
1625 2007-02-05 Geoffrey Keating <geoffk@apple.com>
1627 * config/rs6000/darwin-tramp.asm (__trampoline_setup): Call
1628 __enable_execute_stack on completion.
1630 2007-02-05 Bob Wilson <bob.wilson@acm.org>
1632 * config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
1634 2007-02-02 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
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.
1641 2007-02-04 Richard Guenther <rguenther@suse.de>
1643 Backport from mainline:
1644 2007-01-30 Richard Guenther <rguenther@suse.de>
1647 * dwarf2out.c (reference_to_unused): Query varpool if the
1648 variable was output.
1650 2007-02-02 Mike Stump <mrs@apple.com>
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.
1658 2007-02-02 Hui-May Chang <hm.chang@apple.com>
1660 Revert for x86 darwin:
1661 2005-06-19 Uros Bizjak <uros@kss-loka.si>
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.
1667 2007-02-02 Simon Martin <simartin@users.sourceforge.net>
1670 * gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is
1671 expanded only once even if an error occurs.
1673 2007-02-02 Jakub Jelinek <jakub@redhat.com>
1676 * builtins.c (fold_builtin_sprintf): Do not attempt to optimize
1677 sprintf (str, "%s"). Do not optimize sprintf (str, "nopercent", p++).
1679 2007-02-01 Guy Martin <gmsoft@gentoo.org>
1681 * pa.md (tp_load): Correct mfctl instruction syntax.
1683 2007-02-01 Geoffrey Keating <geoffk@apple.com>
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.
1689 2007-01-31 Anatoly Sokolov <aesok@post.ru>
1692 * config/avr/avr.c (DWARF2_ADDR_SIZE): Define.
1694 2007-01-30 Richard Guenther <rguenther@suse.de>
1697 * passes.c (execute_one_pass): Reset in_gimple_form to not
1698 confuse non-unit-at-a-time mode.
1700 2007-01-27 Anatoly Sokolov <aesok@post.ru>
1702 * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_MUL__.
1704 2007-01-29 Mike Stump <mrs@apple.com>
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.
1710 2007-01-29 Josh Conner <jconner@apple.com>
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.
1718 2007-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
1728 2007-01-26 Zdenek Dvorak <dvorakz@suse.cz>
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
1739 * gcc.dg/tree-ssa/loop-20.c: New test.
1741 2007-01-25 Geoffrey Keating <geoffk@apple.com>
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
1757 (LIB2FUNCS_EXTRA): Add darwin-world.asm.
1758 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
1761 2007-01-24 Geoffrey Keating <geoffk@apple.com>
1763 * unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
1765 2007-01-24 Jakub Jelinek <jakub@redhat.com>
1768 * gimplify.c (omp_check_private): New function.
1769 (gimplify_scan_omp_clauses): Use it for
1770 firstprivate/lastprivate/reduction.
1773 * gimplify.c (omp_add_variable): Don't call omp_notice_variable
1774 on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs.
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.
1782 2007-01-21 Eric Botcazou <ebotcazou@libertysurf.fr>
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.
1796 2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
1798 * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
1799 the insn to which the note was originally attached.
1801 2007-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1803 * pa.c (output_move_double): Change array size of xoperands to 4.
1805 2007-01-17 Eric Christopher <echristo@apple.com>
1807 Backport from mainline:
1808 2006-12-18 Roger Sayle <roger@eyesopen.com>
1809 Eric Christopher <echristo@apple.com>
1812 * real.c (real_maxval): Correctly handle IBM extended double format.
1814 2007-01-17 Tom Tromey <tromey@redhat.com>
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.
1822 2007-01-15 Joseph S. Myers <joseph@codesourcery.com>
1824 * config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
1827 2007-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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.
1833 2007-01-10 Ralf Corsépius <ralf.corsepius@rtems.org>
1835 * config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
1837 2007-01-09 Nicolas Pitre <nico@cam.org>
1840 * arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
1842 2007-01-08 Nick Clifton <nickc@redhat.com>
1844 * config/frv/predicates.md (reg_or_0_operand): Accept
1847 2007-01-08 Ralf Corsépius <ralf.corsepius@rtems.org>
1849 * config/bfin/rtems.h, config/bfin/t-rtems: New.
1850 * config.gcc: Add bfin*-rtems*.
1852 2007-01-08 Chen liqin <liqin@sunnorth.com.cn>
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):
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.
1874 2007-01-05 Richard Guenther <rguenther@suse.de>
1877 * tree.c (get_narrower): Do not construct COMPONENT_REFs
1878 with mismatched types. Instead explicitly build a
1879 conversion NOP_EXPR.
1881 2007-01-05 Jakub Jelinek <jakub@redhat.com>
1884 * libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
1887 2007-01-03 Jakub Jelinek <jakub@redhat.com>
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.
1905 2007-01-01 Mike Stump <mrs@apple.com>
1907 * configure.ac: Remove support for building with Apple's gcc-3.1.
1909 2007-01-01 Andreas Schwab <schwab@suse.de>
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
1916 (ia64_expand_epilogue): Restore BR0 from its new location.