1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-21 11:13:30 +00:00
freebsd/contrib/gcc/ChangeLog
2007-05-19 01:19:51 +00:00

1478 lines
50 KiB
Plaintext

2007-05-13 Release Manager
* GCC 4.2.0 released.
2007-05-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/31797
* tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
propagate into a stmt that has volatile ops.
2007-05-01 Ian Lance Taylor <iant@google.com>
PR tree-optimization/31739
* tree-vrp.c (vrp_val_is_max): New static function.
(vrp_val_is_min): New static function.
(set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than
copying the node.
(set_value_range): Use vrp_val_is_{max,min}.
(extract_range_from_assert): Likewise.
(extract_range_from_binary_expr): Likewise.
(extract_range_from_unary_expr): Likewise.
(dump_value_range, vrp_meet): Likewise.
(vrp_visit_phi_node): Likewise.
* tree.c (build_distinct_type_copy): Revert change of 2007-04-27.
2007-05-01 Joseph Myers <joseph@codesourcery.com>
* config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo.
2007-04-27 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and
ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture.
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
2007-04-27 Ian Lance Taylor <iant@google.com>
PR middle-end/31710
* tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or
TYPE_MAX_VALUE exist, convert them to the new type.
2007-04-26 Ian Lance Taylor <iant@google.com>
PR target/28675
* reload.c (find_reloads_subreg_address): If the address was valid
in the original mode but not in the new mode, reload the whole
address.
2007-04-26 Ulrich Weigand <uweigand@de.ibm.com>
PR middle-end/30761
* reload1.c (eliminate_regs_in_insn): In the single_set special
case, attempt to re-recognize the insn before falling back to
having reload fix it up.
2007-04-26 Richard Guenther <rguenther@suse.de>
Daniel Berlin <dberlin@dberlin.org>
PR tree-optimization/30567
* tree-ssa-structalias.c (update_alias_info): Record dereference
also if ESCAPE_STORED_IN_GLOBAL.
2007-04-26 Jakub Jelinek <jakub@redhat.com>
PR c++/31598
* tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE.
PR tree-optimization/30558
* tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW
clear this_state.prev_try.
2007-04-25 Anatoly Sokolov <aesok@post.ru>
PR target/18989
* config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine.
2007-04-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
Roger Sayle <roger@eyesopen.com>
PR middle-end/30222
* expmed.c (make_tree): Use the correct type, i.e. the inner
type, when constructing the individual elements of a CONST_VECTOR.
2007-04-24 Ian Lance Taylor <iant@google.com>
PR tree-optimization/31605
* tree-vrp.c (set_value_range): Check that min and max are not
both overflow infinities.
(set_value_range_to_value): New static function.
(extract_range_from_binary_expr): Call set_value_range_to_value.
(extract_range_from_expr): Likewise.
(extract_range_from_unary_expr): Likewise. Don't create a range
which overflows on both sides.
(vrp_meet): Check for a useless range.
(vrp_visit_phi_node): If we see a constant which looks like an
overflow infinity, turn off the TREE_OVERFLOW flag.
2007-04-24 Ian Lance Taylor <iant@google.com>
PR tree-optimization/31602
* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for
conditionals in the copied loop header.
* tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow
warnings if TREE_NO_WARNING is set.
* doc/invoke.texi (Warning Options): Clarify that
-Wstrict-overflow does not warn about loops.
2007-04-24 Andreas Krebbel <krebbel1@de.ibm.com>
PR target/31641
* config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length
argument of 0 for memset.
(s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
unsigned shift instead of the signed variant.
2007-04-24 Daniel Franke <franke.daniel@gmail.com>
* doc/invoke.texi: Removed leading '-' from option index entries.
2007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/31448
* expr.c (reduce_to_bit_field_precision): Handle
CONST_INT rtx's.
2007-04-20 Richard Henderson <rth@redhat.com>
PR target/28623
* config/alpha/alpha.c (get_unaligned_address): Remove extra_offset
argument; update all callers.
(get_unaligned_offset): New.
* config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use
get_unaligned_address, just pass on the address directly.
(unaligned_extendqidi): Use gen_lowpart instead of open-coding
the subreg in the helper patterns.
(unaligned_extendqidi_le): Use get_unaligned_offset.
(unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise.
(unaligned_extendhidi_be): Likewise.
(unaligned_extendhidi): Tidy.
* config/alpha/alpha-protos.h: Update.
2007-04-21 Richard Guenther <rguenther@suse.de>
PR middle-end/31136
* fold-const.c (fold_unary): Call fold_convert_const on the
original tree.
2007-04-20 Richard Henderson <rth@redhat.com>
* config/alpha/linux.h (CPP_SPEC): Undef before redefine.
2007-04-20 Bernd Schmidt <bernd.schmidt@analog.com>
* reload.c (combine_reloads): When trying to use a dying register,
check whether it's uninitialized and don't use if so.
2007-04-20 Jakub Jelinek <jakub@redhat.com>
* config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED
for __builtin_ia32_cmpordss.
PR tree-optimization/31632
* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
and arg1 for optimizations of comparison against min/max values.
Fold arg0 to arg1's type for optimizations of comparison against
min+1 and max-1 values.
2007-04-19 Eric Botcazou <ebotcazou@libertysurf.fr>
PR rtl-optimization/29841
* cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
trap instructions.
* sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
that may cause control flow transfer from being moved.
2007-04-18 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.c (ptrreg_to_str): Replace error() with
output_operand_lossage().
2007-04-17 Anatoly Sokolov <aesok@post.ru>
PR target/30483
* config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
error().
2007-04-17 Jan Hubicka <jh@suse.cz>
PR middle-end/30700
* dwarf2out.c (reference_to_unused): Ask cgraph for functions
availablility; add more sanity checking; ask varpool only about
VAR_DECL.
2007-04-17 H.J. Lu <hongjiu.lu@intel.com>
* Backport from mainline:
2007-04-17 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/sse.md (sse_vmaddv4sf3): Use register_operand
on "0".
(sse_vmmulv4sf3): Likewise.
(sse2_vmaddv2df3): Likewise.
(sse2_vmmulv2df3): Likewise.
2007-04-16 Matthias Klose <doko@debian.org>
* config/alpha/linux.h (CPP_SPEC): Define.
* config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend.
2007-04-16 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.c (avr_arch_types): Rearranging array.
(enum avr_arch): Add.
(avr_mcu_types): Use avr_arch enumeration constants instead of
numbers.
* config/avr/avr.h (LINK_SPEC): Simplify.
2007-04-16 Jan Hubicka <jh@suse.cz>
PR target/27869
* config/i386/sse.md
(sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
(sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
(sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
(sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
2007-04-16 H.J. Lu <hongjiu.lu@intel.com>
* Backport from mainline:
2007-04-16 H.J. Lu <hongjiu.lu@intel.com>
PR target/31582
* config/i386/i386.c (ix86_expand_vec_set_builtin): Make a
copy of source, pass it to ix86_expand_vector_set and return
it as target.
2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR c/31520
* c-decl.c (finish_decl): Grab the type of the decl after the call
to store_init_value.
2007-04-14 Jakub Jelinek <jakub@redhat.com>
PR c++/25874
* omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
post dominators and cleanup cfg before returning.
2007-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
null before emitting a .nsubspa directive.
2007-04-08 Anatoly Sokolov <aesok@post.ru>
PR target/29932
* config/avr/predicates.md (io_address_operand): Delete predicate.
(low_io_address_operand): Don't use 'mode' argument.
(higth_io_address_operand): Rename ...
(high_io_address_operand): ... to this. Don't use 'mode' argument.
* config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
for above change.
2007-04-07 Anatoly Sokolov <aesok@post.ru>
PR target/30289
* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
earlyclobber.
2007-04-05 Anatoly Sokolov <aesok@post.ru>
PR target/25448
* config/avr/avr.c (avr_handle_fndecl_attribute): Use the
DECL_ASSEMBLER_NAME, not the DECL_NAME.
2007-04-04 Richard Henderson <rth@redhat.com>
PR target/31361
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di. Use like-types for
the variable shift builtins.
(ix86_expand_builtin): Properly expand the variable shift builtins.
* config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
operand 2 be TImode.
* config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
_mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
_mm_srli_epi32, _mm_srli_epi64): Turn into macros.
(_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
(_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
_mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
two-vector shift builtins.
2007-04-04 Chen liqin <liqin@sunnorth.com.cn>
* config/score/crti.asm: Change _bss_start to __bss_start.
* config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
(OUTGOING_REG_PARM_STACK_SPACE) update.
* config/score/score.opt: add options to make backend support
score5, score5u, score7 and score7d.
* config/score/score.md: Likewise.
* config/score/misc.md: Likewise.
* config/score/mac.md: Likewise.
* doc/invoke.texi: Likewise.
* doc/md.texi: update constraints define.
2007-04-03 Stuart Hastings <stuart@apple.com>
PR 31281
* objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile from rethrow decl.
* cse.c (record_jump_equiv): Bail out on CCmode comparisons.
2007-04-03 Jakub Jelinek <jakub@redhat.com>
PR middle-end/30704
* fold-const.c (native_encode_real): Encode real.c provided longs
as a series of 32-bit native integers.
(native_interpret_real): Interpret buffer as a series of 32-bit
native integers.
2007-04-02 Eric Christopher <echristo@apple.com>
* doc/invoke.texi (i386 and x86-64 Options): Document -m64
limitations on darwin.
2007-04-02 Anatoly Sokolov <aesok@post.ru>
PR target/31137
* config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
2007-04-02 H.J. Lu <hongjiu.lu@intel.com>
* Backport from mainline:
2007-03-28 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
PR target/31380
* config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.
2007-03-30 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.c (avr_override_options): Clear
'flag_delete_null_pointer_checks'.
2007-03-29 Michael Matz <matz@suse.de>
* builtins.c (expand_builtin_sync_operation,
expand_builtin_compare_and_swap,
expand_builtin_lock_test_and_set): Care for extending CONST_INTs
correctly.
* config/i386/sync.md (sync_double_compare_and_swapdi_pic,
sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
for operand 3.
2007-03-28 Mike Stump <mrs@apple.com>
* config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
* config/darwin.h (MAX_OFILE_ALIGNMENT): Fix.
* config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef.
2007-03-27 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
architecture.
2007-03-26 Ian Lance Taylor <iant@google.com>
PR tree-optimization/31345
* tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
[+INF, +INF(OVF)] into VARYING.
2007-03-23 Martin Michlmayr <tbm@cyrius.com>
* doc/invoke.texi (-fforce-mem): Update documentation to reflect
that this option will be removed in 4.3 rather than 4.2.
* opts.c (common_handle_option): Likewise.
2007-03-21 Mike Stump <mrs@apple.com>
* c.opt: Fixup for Objective-C/C++.
2007-03-21 Richard Henderson <rth@redhat.com>
PR target/31245
* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
* config/i386/mmintrin.h (__m64): Likewise.
* config/i386/xmmintrin.h (__m128): Likewise.
2007-03-20 Jakub Jelinek <jakub@redhat.com>
PR c/30762
* c-typeck.c (convert_for_assignment): Call comptypes for
RECORD_TYPE or UNION_TYPE.
PR inline-asm/30505
* reload1.c (reload): Do invalid ASM checking after
cleanup_subreg_operands.
2007-03-19 Jeff Law <law@redhat.com>
* tree-cfg.c (find_taken_edge): Tighten conditions for
optimizing computed gotos.
2007-03-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.c (attr_length_call): Partially revert change of 2007-03-09.
(output_call): Likewise.
2007-03-16 Alexandre Oliva <aoliva@redhat.com>
PR debug/29906
* dwarf2out.c (force_type_die): Adjust comment.
(dwarf2out_imported_module_or_decl): Handle base AT_import types.
2007-03-15 Seongbae Park <seongbae.park@gmail.com>
PR tree-optimization/30590
* tree-nrv.c (tree_nrv): Check for the partial update
of the return value.
2007-03-14 Ian Lance Taylor <iant@google.com>
* tree-vrp.c (value_inside_range): Ignore fold warnings.
2007-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/31123
* pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for
two unamed patterns.
2007-03-12 Brooks Moses <brooks.moses@codesourcery.com>
* doc/extend.texi: Edit "gnu_inline" documentation.
* doc/invoke.texi: Edit "-fgnu89-inline" documentation.
2007-03-12 Brooks Moses <brooks.moses@codesourcery.com>
* doc/extend.texi: Fix cpp.info cross-reference.
* doc/invoke.texi: Fix cpp.info cross-reference.
* doc/passes.texi: Fix gcc.info cross-reference.
2007-03-12 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/28544
* tree-ssa-operands.c (add_virtual_operand):
Move assert triggering on aliasing violations into
debugging define
2007-03-12 Ian Lance Taylor <iant@google.com>
* c.opt (fgnu89-inline): New option.
* c-opts.c (c_common_post_options): Warn about -fno-gnu89-inline.
* c-common.c (c_common_attributes): Add gnu_inline attribyte.
(handle_gnu_inline_attribute): New static function.
* c-decl.c (start_function): Warn if we see a non-static inline
function in C99 mode.
* c-cppbuiltin.c (c_cpp_builtins): Define __GNUC_GNU_INLINE__.
* doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
(C Dialect Options): Document -fgnu89-inline.
* doc/extend.texi (Function Attributes): Document gnu_inline.
(Inline): Mention that C99 inline will be implemented in 4.3.
Refer to ways to get the old handling.
* doc/cpp.texi (Common Predefined Macros): Document
__GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
2007-03-12 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (alpha_elf_section_type_flags): New.
(TARGET_SECTION_TYPE_FLAGS): New.
2007-03-12 Richard Henderson <rth@redhat.com>
* config/darwin.c (machopic_reloc_rw_mask): New.
(machopic_select_section): Use decl_readonly_section.
* config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
* config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.
2007-02-14 Richard Guenther <rguenther@suse.de>
Backport from mainline:
* flags.h (issue_strict_overflow_warning): Convert to a macro.
2007-03-11 Ian Lance Taylor <iant@google.com>
Backport -fstrict-overflow/-Wstrict-overflow from mainline:
2007-03-11 Ian Lance Taylor <iant@google.com>
* tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
the *_DIV_EXPR codes correctly with overflow infinities.
2007-03-09 Ian Lance Taylor <iant@google.com>
* opts.c (common_handle_option): Treat -Wstrict-overflow (with no
argument) like -Wstrict-overflow=2.
* doc/invoke.texi (Warning Options): Update documentation.
2007-03-08 Ian Lance Taylor <iant@google.com>
* tree-vrp.c: Include "toplev.h" and "intl.h".
(usable_range_p): New static function.
(compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
overflowed values, juts set *strict_overflow_p.
(compare_values): Only return -2 if one of the operands is not a
constant.
(compare_ranges): Call usable_range_p.
(compare_range_with_value): Likewise.
(vrp_evaluate_conditional_warnv): Rename from
vrp_evaluate_conditional. Make static. Change all callers.
(vrp_evaluate_conditional): New function.
(simplify_div_or_mod_using_ranges): Issue warning about reliance
on signed overflow.
(simplify_abs_using_ranges): Likewise.
(simplify_stmt_for_jump_threading): Add within_stmt parameter.
* tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
within_stmt parameter.
* tree-ssa-propagate.c (fold_predicate_in): Update call to
vrp_evaluate_conditional.
* tree-ssa-threadedge.c
(record_temporary_equivalences_from_stmts_at_dest): Change
simplify parameter to take a second tree parameter.
(simplify_control_stmt_condition): Likewise.
(thread_across_edge): Likewise.
* tree-flow.h (vrp_evaluate_conditional): Update declaration.
(thread_across_edge): Likewise.
* Makefile.in (tree-vrp.o): Depend upon toplev.h and intl.h.
2007-03-05 Ian Lance Taylor <iant@google.com>
* tree-vrp.c (extract_range_from_assert): Don't try to handle a
half-range if the other side is an overflow infinity.
2007-03-02 Ian Lance Taylor <iant@google.com>
Used signed infinities in VRP.
* tree-vrp.c (uses_overflow_infinity): New static function.
(supports_overflow_infinity): New static function.
(make_overflow_infinity): New static function.
(negative_overflow_infinity): New static function.
(positive_overflow_infinity): New static function.
(is_negative_overflow_infinity): New static function.
(is_positive_overflow_infinity): New static function.
(is_overflow_infinity): New static function.
(overflow_infinity_range_p): New static function.
(compare_values_warnv): New function split out of compare_values.
(compare_value): Call it.
(set_value_range_to_nonnegative): Add overflow_infinity
parameter. Change caller.
(vrp_expr_computes_nonnegative): Add strict_overflow_p parameter.
Change callers.
(vrp_expr_computes_nonzero): Likewise.
(compare_ranges, compare_range_with_value): Likewise.
(compare_name_with_value, compare_names): Likewise.
(vrp_evaluate_conditional): Likewise.
(set_value_range): Handle infinity
(vrp_operand_equal_p, operand_less_p): Likewise.
(extract_range_from_assert): Likewise.
(vrp_int_const_binop): Likewise.
(extract_range_from_binary_expr): Likewise.
(extract_range_from_unary_expr): Likewise.
(extract_range_from_comparison): Likewise.
(extract_range_from_expr): Likewise.
(dump_value_range): Likewise.
(vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise.
(test_for_singularity): Likewise.
(vrp_int_const_binop): Remove inline qualifier.
(adjust_range_with_scev): Add comment.
* tree-flow.h (vrp_evaluate_conditional): Update declaration.
2007-02-13 Ian Lance Taylor <iant@google.com>
* common.opt: Add Wstrict-overflow and Wstrict-overflow=.
* flags.h (warn_strict_overflow): Declare.
(enum warn_strict_overflow_code): Define.
(issue_strict_overflow_warning): New static inline function.
* opts.c (warn_strict_overflow): New variable.
(common_handle_option): Handle OPT_Wstrict_overflow and
OPT_Wstrict_overflow_.
* c-opts.c (c_common_handle_option): Set warn_strict_overflow for
OPT_Wall.
* fold-const.c: Include intl.h.
(fold_deferring_overflow_warnings): New static variable.
(fold_deferred_overflow_warning): New static variable.
(fold_deferred_overflow_code): New static variable.
(fold_defer_overflow_warnings): New function.
(fold_undefer_overflow_warnings): New function.
(fold_undefer_and_ignore_overflow_warnings): New function.
(fold_deferring_overflow_warnings_p): New function.
(fold_overflow_warning): New static function.
(make_range): Add strict_overflow_p parameter. Change all
callers.
(extract_muldiv, extract_muldiv_1): Likewise.
(fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
tree_expr_nonnegative_p.
(fold_negate_expr): Call fold_overflow_warning.
(fold_range_test): Likewise.
(fold_comparison): Likewise.
(fold_binary): Likewise. Call tree_expr_nonnegative_warnv_p
instead of tree_expr_nonnegative_p.
(tree_expr_nonnegative_warnv_p): Rename from
tree_expr_nonnegative_p, add strict_overflow_p parameter.
(tree_expr_nonnegative_p): New function.
(tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
strict_overflow_p parameter.
(tree_expr_nonzero_p): New function.
* passes.c (verify_interpass_invariants): New static function.
(execute_one_pass): Call it.
* tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
warnings.
(number_of_iterations_exit, loop_niter_by_eval): Likewise.
(estimate_numbers_of_iterations): Likewise.
(scev_probably_wraps_p): Likewise.
* tree-ssa-ccp.c: Include "toplev.h".
(evaluate_stmt): Defer fold overflow warnings until we know we are
going to optimize.
(struct fold_stmt_r_data): Add stmt field.
(fold_stmt_r): Defer fold overflow warnings until we know we
optimized.
(fold_stmt): Initialize stmt field of fold_stmt_r_data.
(fold_stmt_inplace): Likewise.
* tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
(cleanup_control_expr_graph): Defer fold overflow warnings until
we know we are going to optimize.
* tree-cfg.c (fold_cond_expr_cond): Likewise.
* tree-ssa-threadedge.c (simplify_control_stmt_condition):
Likewise.
* tree-vrp.c (vrp_expr_computes_nonnegative): Call
tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
* tree-ssa-loop-manip.c (create_iv): Likewise.
* c-typeck.c (build_conditional_expr): Likewise.
(build_binary_op): Likewise.
* tree-vrp.c (vrp_expr_computes_nonzero): Call
tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
(extract_range_from_unary_expr): Likewise.
* simplify-rtx.c (simplify_const_relational_operation): Warn when
assuming that signed overflow does not occur.
* c-common.c (pointer_int_sum): Ignore fold overflow warnings.
* tree.h (tree_expr_nonnegative_warnv_p): Declare.
(fold_defer_overflow_warnings): Declare.
(fold_undefer_overflow_warnings): Declare.
(fold_undefer_and_ignore_overflow_warnings): Declare.
(fold_deferring_overflow_warnings_p): Declare.
(tree_expr_nonzero_warnv_p): Declare.
* doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
of warning options.
(Warning Options): Document -Wstrict-overflow.
* Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
(tree-ssa-ccp.o): Likewise.
(tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
(fold-const.o): Depend on intl.h.
2007-01-27 Ian Lance Taylor <iant@google.com>
* common.opt: Add fstrict-overflow.
* opts.c (decode_options): Set flag_strict_overflow if -O2.
* flags.h (TYPE_OVERFLOW_WRAPS): Define.
(TYPE_OVERFLOW_UNDEFINED): Define.
(TYPE_OVERFLOW_TRAPS): Define. This replaces TYPE_TRAP_SIGNED.
Replace all uses.
* tree.h (TYPE_TRAP_SIGNED): Don't define.
* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
(fold_negate_expr): Likewise.
(make_range): Likewise.
(extract_muldiv_1): Likewise.
(fold_comparison): Likewise.
(fold_binary): Likewise.
(tree_expr_nonnegative_p): Likewise.
(tree_expr_nonzero_p): Likewise.
* tree-vrp.c (compare_values): Likewise.
(extract_range_from_binary_expr): Likewise.
(extract_range_from_unary_expr): Likewise.
* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
Likewise.
(nowrap_type_p): Likewise.
* tree-scalar-evolution.c (simple_iv): Likewise.
* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
(build_range_check): Likewise.
(extract_muldiv_1): Likewise.
(fold_comparison): Likewise.
* tree-vrp.c (vrp_int_const_binop): Likewise.
(extract_range_from_unary_expr): Likewise.
* convert.c (convert_to_integer): Likewise.
* fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
(fold_comparison): Likewise.
(fold_binary): Likewise.
* optabs.c (optab_for_tree_code): Likewise.
* tree-vectorizer.c (vect_is_simple_reduction): Likewise.
* simplify-rtx.c (simplify_const_relational_operation): Check
flag_strict_overflow and flag_trapv.
(simplify_const_relational_operation): Likewise.
* doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
(Optimize Options): Add -fstrict-overflow to -O2 list. Document
-fstrict-overflow.
2007-01-17 Ian Lance Taylor <iant@google.com>
* vec.h (VEC_reserve_exact): Define.
(vec_gc_p_reserve_exact): Declare.
(vec_gc_o_reserve_exact): Declare.
(vec_heap_p_reserve_exact): Declare.
(vec_heap_o_reserve_exact): Declare.
(VEC_OP (T,A,reserve_exact)): New static inline function, three
versions.
(VEC_OP (T,A,reserve)) [all versions]: Remove handling of
negative parameter.
(VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact.
(VEC_OP (T,A,copy)) [all versions]: Likewise.
(VEC_OP (T,a,safe_grow)) [all versions]: Likewise.
* vec.c (calculate_allocation): Add exact parameter. Change all
callers.
(vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve.
(vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1.
(vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions.
(vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve.
(vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1.
(vec_heap_p_reserve_exact): New function.
(vec_heap_o_reserve_exact): New function.
2007-03-11 Roger Sayle <roger@eyesopen.com>
Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/30433
* fold-const.c (fold_relational_const): Add back compile-time
evaluation of complex constant equality/inequality comparisons.
2007-03-11 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/29925
* tree-data-ref.c (analyze_offset): Add a return value (bool) to
indicate success/failure of the analysis. Add negation to subtrahend
in case of subtraction. Fail if both operands contain constants.
(create_data_ref): Fail if analyze_offset fails.
2007-03-10 Mark Mitchell <mark@codesourcery.com>
PR c++/30924
* tree.c (walk_type_fields): Recurse into the element type of
ARRAY_TYPEs if there is a pointer set.
2007-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.c (attr_length_call): Revise condition for long pc-relative branch.
(output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local
calls on the SOM target. Don't use "LONG_PIC_PCREL" call sequence on
SOM target.
2007-03-09 Richard Henderson <rth@redhat.com>
PR target/26090
* target.h (targetm.asm.out.reloc_rw_mask): New.
* target-def.h (TARGET_ASM_RELOC_RW_MASK): New.
(TARGET_ASM_OUT): Use it.
* targhooks.c, targhooks.h (default_reloc_rw_mask): New.
* varasm.c (categorize_decl_for_section): Remove shlib argument;
use the new reloc_rw_mask target hook instead.
(default_section_type_flags_1): Merge into...
(default_section_type_flags): ... here.
(decl_readonly_section_1): Merge into...
(decl_readonly_section): ... here.
(default_elf_select_section_1): Merge into...
(default_elf_select_section): ... here.
(default_unique_section_1): Merge into...
(default_unique_section): ... here.
(compute_reloc_for_rtx_1, compute_reloc_for_rtx): New.
(default_select_rtx_section): Use it.
(default_elf_select_rtx_section): Likewise.
* output.h: Update to match.
* doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New.
* config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New.
(TARGET_ASM_RELOC_RW_MASK): New.
* config/i386/i386.c (x86_64_elf_select_section): Adjust call
to categorize_decl_for_section.
(x86_64_elf_unique_section): Likewise.
* config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove.
(TARGET_ASM_RELOC_RW_MASK): New.
* config/ia64/ia64.c (ia64_rwreloc_select_section,
ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove.
(ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New.
(TARGET_RWRELOC): Remove.
(ia64_section_type_flags): Adjust call to default_section_type_flags.
* config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove.
(rs6000_elf_select_section, rs6000_elf_unique_section): Remove.
(rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New.
(rs6000_xcoff_select_section): Use decl_readonly_section.
(rs6000_xcoff_section_type_flags): Use default_section_type_flags.
* config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove.
(TARGET_SECTION_TYPE_FLAGS): Remove.
* config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New.
2007-03-08 Geoffrey Keating <geoffk@apple.com>
PR 31013
* gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
is declared.
* config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
passed, use shared libgcc.
2007-03-09 Alexandre Oliva <aoliva@redhat.com>
PR rtl-optimization/30643
* cse.c (cse_insn): Recompute dest_hash after insert_regs for
dest_addr_elt.
2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/30045
* tree-vrp.c (nonnull_arg_p): Treat the static decl as always
non null.
2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/30729
* stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
effects unknown to this function, return early.
2007-03-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/28624
* tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary
bitmap for EXECUTE_IF_SET_IN_BITMAP.
2006-03-09 Mark Shinwell <shinwell@codesourcery.com>
Andrew MacLeod <amacleod@redhat.com>
PR tree-optimization/29877
* tree-outof-ssa.c (check_replaceable): Don't allow TER to replace
an expression if the RHS is a register variable.
2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C/31072
* c-decl.c (merge_decls): Don't call make_var_volatile.
* varasm.c (make_var_volatile): Remove.
* output.h (make_var_volatile): Remove.
2007-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
ATTR_CONST_NOTHROW_LIST.
* fold-const.c (tree_expr_nonnegative_p): Handle FIX_TRUNC_EXPR.
2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR target/30406
* config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
instead of precision.
2007-03-08 Volker Reichelt <reichelt@netcologne.de>
PR c++/30852
* c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
2007-03-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* c.opt (Waddress): New.
* common.opt (Walways-true): Delete.
(Wstring-literal-comparison): Delete.
* doc/invoke.texi (Warning Options): Delete -Walways-true and
-Wstring-literal-comparison. Add -Waddress.
(Waddress): New.
(Walways-true): Delete.
(Wstring-literal-comparison): Delete.
* doc/extend.texi (#pragma GCC diagnostic): Use -Wformat
consistently instead of -Walways-true in example.
* c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall.
* c-typeck.c (parser_build_binary_op): Replace
-Wstring-literal-comparison and -Walways-true with -Waddress.
(build_binary_op): Likewise.
* c-common.c (c_common_truthvalue_conversion): Likewise.
2007-03-07 Richard Henderson <rth@redhat.com>
PR target/30848
* reg-stack.c (emit_swap_insn): If a malformed asm was seen,
silently fix up the stack in the case of a missing register.
2007-03-06 David Daney <ddaney@avtrex.com>
* doc/install.texi (mips-*-*): Change recommended binutils
version.
2007-03-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* doc/invoke.texi (Warning Options): Replace -Werror- with
-Werror=.
* opts.c (common_handle_option): Likewise.
2007-03-06 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162
devices.
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
2007-03-06 Roger Sayle <roger@eyesopen.com>
PR middle-end/30744
* fold-const.c (fold_binary) <EQ_EXPR>: Enforce type consistency
when transforming ~X op C to X op' ~C.
2007-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.md: In unamed move patterns, disparge copies between general
and floating point registers using '?' modifier. Don't include 'f'
constraint for register preferences in DImode, SImode, HImode and
QImode patterns. Likewise for 'r' in DFmode and SFmode patterns.
Remove constraints for copies between general and floating registers
in soft-float DFmode pattern.
(movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
floating register.
(movsf): Likewise.
2007-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
conversion.
2007-03-05 Steve Ellcey <sje@cup.hp.com>
Backported from mainline
PR debug/29614
* cgraph.h (cgraph_varpool_last_needed_node): Make global.
* cgraph.c (cgraph_varpool_last_needed_node): Ditto.
* cgraphunit.c (cgraph_varpool_assemble_pending_decls):
Set cgraph_varpool_last_needed_node to NULL.
2007/03/05 David Taylor <dtaylor@emc.com>
PR 31050
* gcc.c: Correct copyright date in --version output.
2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
* c.opt: Remove -ffixed-form, -ffixed-line-length-none, and
-ffixed-line-length-* options.
2007-03-05 David Edelsohn <edelsohn@gnu.ogr>
* config/rs6000/t-ppccomm: Always build libgcc2 for GNU/Linux
with -mlong-double-128, except SPE.
* config/rs6000/darwin-ldouble.c: Only build new functions for
__LONG_DOUBLE_128__.
Backport from mainline:
2007-01-16 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
(strong_alias): Define.
(__gcc_qmul): Provide non-FMA for soft-float.
(__gcc_qdiv): Same.
(__gcc_qneg): New.
(__gcc_qeq): New.
(__gcc_qle): New.
(__gcc_qge): New.
(__gcc_qunord): New.
(__gcc_stoq): New.
(__gcc_dtoq): New.
(__gcc_qtos): New.
(__gcc_qtod): New.
(__gcc_qtoi): New.
(__gcc_qtou): New.
(__gcc_itoq): New.
(__gcc_utoq): New.
(fmsub): New.
* config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize
soft-float functions.
* config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols.
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn
about long double soft float.
2007-03-05 Richard Guenther <rguenther@suse.de>
Backport from mainline:
2007-02-28 Richard Guenther <rguenther@suse.de>
PR middle-end/30364
* fold-const.c (fold_binary): Do not associate expressions
with more than one variable for integer types that do not wrap.
2007-03-04 Eric Botcazou <ebotcazou@adacore.com>
PR ada/26797
* doc/invoke.texi (-O2): Document that Tree-VRP is not turned on
for the Ada compiler.
2007-03-02 Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/29902
* tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
any involved ssa name appears in abnormal phi node.
2007-03-02 Eric Botcazou <ebotcazou@adacore.com>
* tree-sra.c (sra_walk_fns) <ldst>: Document new restriction.
(sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use
if the lhs has side-effects.
<lhs_elt>: Treat the reference as a use if the rhs has side-effects.
2007-03-02 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing
modes to LDRD for DImode.
(output_move_double): Fixup out of range ldrd/strd.
(vfp_secondary_reload_class): Rename...
(coproc_secondary_reload_class): ... to this. Add wb argument.
* config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use
coproc_secondary_reload_class for CLASS_IWMMXT.
(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
* arm-protos.h (coproc_secondary_reload_class): Update prototype.
2007-03-02 Eric Botcazou <ebotcazou@adacore.com>
* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
entry by means of emit_insn_at_entry.
2007-03-01 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* doc/invoke.texi (Wextra): Delete outdated paragraph.
2007-02-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa/predicates.md (move_src_operand): Allow zero for mode.
* pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
move pattern.
2007-02-27 Mike Stump <mrs@apple.com>
* config/darwin-crt3.c: Avoid compilation when compiling for a
kext multilib.
2007-02-27 Andreas Schwab <schwab@suse.de>
* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
* doc/include/gcc-common.texi (versionsubtitle): New macro.
* doc/cpp.texi: Standardize title page.
* doc/cppinternals.texi: Likewise.
* doc/gcc.texi: Standardize title page, remove version number
from copyright page.
* doc/gccint.texi: Likewise.
* doc/install.texi: Standardize title page, add table of
contents.
2007-02-24 Mike Stump <mrs@apple.com>
* config/i386/i386.c (output_pic_addr_const): Stubify optimized
symbols.
2007-02-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.md (muldi3): Force subregs to registers in 64-bit expander.
2007-02-23 Mike Stump <mrs@apple.com>
* tlink.c (scan_linker_output): Parse linker messages from
darwin9's linker better.
2007-02-21 Ira Rosen <irar@il.ibm.com>
* tree-ssa-alias.c: Include pointer-set.h
* Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h.
2007-02-21 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
2006-12-20 Andrew Pinski <pinskia@gmail.com>
PR middle-end/30143
* omp-low.c (init_tmp_var): New function.
(save_tmp_var): New function.
(lower_omp_1): Use them for VAR_DECL.
2007-02-20 Alan Modra <amodra@bigpond.net.au>
PR target/29943
* varasm.c (use_blocks_for_decl_p): Return false for decls with
alias attribute.
2007-02-19 Eric Botcazou <ebotcazou@adacore.com>
* gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap
due to calls to functions taking pointers as parameters.
2007-02-19 Richard Henderson <rth@redhat.com>
PR debug/29558
* var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
in memory.
2007-02-18 Eric Botcazou <ebotcazou@adacore.com>
* tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
2007-02-18 Eric Botcazou <ebotcazou@adacore.com>
* calls.c (mem_overlaps_already_clobbered_arg_p): Return true
for arg pointer based indexed addressing.
2007-02-18 Ira Rosen <irar@il.ibm.com>
* tree-ssa-alias.c (may_aliases_intersect): New function.
* tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect
for different tags.
* tree-flow.h (may_aliases_intersect): Add function declaration.
2007-02-17 Alexandre Oliva <aoliva@redhat.com>
PR tree-optimization/30823
* tree-sra.c (sra_build_assignment): Drop type-checking assert.
2007-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
PR other/27843
* Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
nested double- and backquotes.
2007-02-15 Alexandre Oliva <aoliva@redhat.com>
* tree-sra.c (instantiate_missing_elements): Canonicalize
bit-field types.
(sra_build_assignment): New.
(generate_copy_inout, generate_element_copy,
generate_element_zero, generate_one_element_init): Use it.
2007-02-15 Kaz Kojima <kkojima@gcc.gnu.org>
PR rtl-optimization/29599
Backport from mainline.
* reload1.c (eliminate_regs_in_insn): Take the destination
mode into account when computing the offset.
2007-02-13 Joseph S. Myers <joseph@codesourcery.com>
* doc/invoke.texi, doc/standards.texi: Refer to
gcc-4.2/c99status.html.
2007-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/30634
* pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero
CONST_DOUBLE and operand 0 is a hard register.
(movdi): For 64-bit target, remove code to force CONST_DOUBLE to
memory. Fail if operand 1 is a non-zero CONST_INT and operand 0
is a hard floating-point register.
2007-02-06 Mark Mitchell <mark@codesourcery.com>
PR target/29487
* tree.h (DECL_REPLACEABLE_P): New macro.
* except.c (set_nothrow_function_flags): Likewise.
2007-02-07 Jakub Jelinek <jakub@redhat.com>
PR c++/30703
* gimplify.c (gimplify_scan_omp_clauses): Remove special casing
of INDIRECT_REF <RESULT_DECL>.
2007-02-06 Rask Ingemann Lamberisen <rask@sygehus.dk>
PR 30370
* config/rs6000/t-ppccomm: Correct Makefile typo.
2007-02-06 Roger Sayle <roger@eyesopen.com>
PR libgomp/28296
Backport from mainline.
* config/darwin.h (CPP_SPEC): Handle -pthread, transforming
it into -D_REENTRANT.
2007-02-05 Alexandre Oliva <aoliva@redhat.com>
PR debug/30189
* dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
even if cv-qualification is the same.
2007-02-05 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/darwin-tramp.asm (__trampoline_setup): Call
__enable_execute_stack on completion.
2007-02-05 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
2007-02-02 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
PR target/29682
* config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to
general or fp registers. Add comments.
* config/ia64/ia64.md (reg_pred_prefix): Add comment.
2007-02-04 Richard Guenther <rguenther@suse.de>
Backport from mainline:
2007-01-30 Richard Guenther <rguenther@suse.de>
PR middle-end/27657
* dwarf2out.c (reference_to_unused): Query varpool if the
variable was output.
2007-02-02 Mike Stump <mrs@apple.com>
* config.gcc (*-*-darwin*): Backport darwin9.h bits.
* config/darwin9.h: Add.
* config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add.
(output_call): Use DARWIN_GENERATE_ISLANDS to decide when to
generate a branch island.
2007-02-02 Hui-May Chang <hm.chang@apple.com>
Revert for x86 darwin:
2005-06-19 Uros Bizjak <uros@kss-loka.si>
* config/i386/i386.c (ix86_function_arg_regno_p): Put back the
code before the following patch under TARGET_MACHO.
(ix86_function_value_regno_p): Likewise.
2007-02-02 Simon Martin <simartin@users.sourceforge.net>
PR c++/28266
* gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is
expanded only once even if an error occurs.
2007-02-02 Jakub Jelinek <jakub@redhat.com>
PR middle-end/30473
* builtins.c (fold_builtin_sprintf): Do not attempt to optimize
sprintf (str, "%s"). Do not optimize sprintf (str, "nopercent", p++).
2007-02-01 Guy Martin <gmsoft@gentoo.org>
* pa.md (tp_load): Correct mfctl instruction syntax.
2007-02-01 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/rs6000.c (rs6000_stack_info): Correct
altivec_padding_size calculation on AIX. Improve comment, add
assert to verify that it's right.
2007-01-31 Anatoly Sokolov <aesok@post.ru>
PR target/19087
* config/avr/avr.c (DWARF2_ADDR_SIZE): Define.
2007-01-30 Richard Guenther <rguenther@suse.de>
PR middle-end/30313
* passes.c (execute_one_pass): Reset in_gimple_form to not
confuse non-unit-at-a-time mode.
2007-01-27 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_MUL__.
2007-01-29 Mike Stump <mrs@apple.com>
* doc/gccint.texi (Top): Rename Loop Representation to Loop
Analysis and Representation to resolve case insensitive conflict.
* doc/loop.texi (Loop Analysis and Representation): Likewise.
2007-01-29 Josh Conner <jconner@apple.com>
PR middle-end/29683
* calls.c (compute_argument_addresses): Set stack and stack_slot
for partial args, too.
(store_one_arg): Use locate.size.constant for the size when
generating a save_area.
2007-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* doc/sourcebuild.texi: Add comma for clarity.
* doc/extend.texi: Fix some typos.
* doc/passes.texi: Likewise.
* doc/cppinternals.texi: Likewise.
* doc/c-tree.texi: Likewise.
* doc/tree-ssa.texi: Likewise.
* doc/install.texi: Likewise.
2007-01-26 Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/29516
* tree-ssa-address.c (tree_mem_ref_addr, add_to_parts,
most_expensive_mult_to_index, addr_to_parts,
create_mem_ref, maybe_fold_tmr): Make the type of
fields of TARGET_MEM_REF sizetype.
(move_fixed_address_to_symbol, move_pointer_to_base,
aff_combination_remove_elt): New functions.
* tree.def (TARGET_MEM_REF): Add comment on types of
the operands.
* gcc.dg/tree-ssa/loop-20.c: New test.
2007-01-25 Geoffrey Keating <geoffk@apple.com>
PR 25127
* config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
save Altivec registers in an eh_return function.
(compute_vrsave_mask): Likewise.
(rs6000_stack_info): Correct AIX/Darwin stack alignment computation
for saving Altivec registers.
(rs6000_emit_prologue): Don't allocate stack twice in
eh_return function. Correct expected value of altivec_save_offset
when using save_world. Describe save of R0 to stack when using
save_world. Describe stack pointer adjustment when using
save_world. Remove duplicated eh_return parameter register saving.
Update sp_offset variable after save_world.
* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
darwin-world.asm.
(LIB2FUNCS_EXTRA): Add darwin-world.asm.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
implies Altivec.
2007-01-24 Geoffrey Keating <geoffk@apple.com>
* unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
2007-01-24 Jakub Jelinek <jakub@redhat.com>
PR middle-end/27416
* gimplify.c (omp_check_private): New function.
(gimplify_scan_omp_clauses): Use it for
firstprivate/lastprivate/reduction.
PR middle-end/30494
* gimplify.c (omp_add_variable): Don't call omp_notice_variable
on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs.
PR middle-end/30421
* omp-low.c (lower_omp_for_lastprivate): Add dlist argument.
If lower_lastprivate_clauses emits some statements, append them
to dlist rather than body_p and to body_p append an initializer.
(lower_omp_for): Adjust caller.
2007-01-21 Eric Botcazou <ebotcazou@libertysurf.fr>
PR rtl-optimization/29329
* combine.c (replaced_rhs_insn): Rename to i2mod.
(replaced_rhs_value): Rename to i2mod_new_rhs.
(i2mod_old_rhs): New global variable.
(combine_instructions): Adjust for above change. Save a copy of
the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
note are substituted in the second instruction.
(distribute_notes) <REG_DEAD>: Adjust for above change. Do not
ditch the note if it pertains to the second eliminated register
and this register is mentioned in i2mod_old_rhs.
Revert:
2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
* combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
the insn to which the note was originally attached.
2007-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.c (output_move_double): Change array size of xoperands to 4.
2007-01-17 Eric Christopher <echristo@apple.com>
Backport from mainline:
2006-12-18 Roger Sayle <roger@eyesopen.com>
Eric Christopher <echristo@apple.com>
PR target/29302
* real.c (real_maxval): Correctly handle IBM extended double format.
2007-01-17 Tom Tromey <tromey@redhat.com>
* doc/sourcebuild.texi (libgcj Tests): Use sourceware.org.
* doc/install.texi (Testing): Use sourceware.org.
(Binaries): Likewise.
(Specific): Likewise.
* doc/contrib.texi (Contributors): Use sourceware.org.
2007-01-15 Joseph S. Myers <joseph@codesourcery.com>
* config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
glibc CVS.
2007-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
* pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS.
(ASM_OUTPUT_INTERNAL_LABEL): Define.
2007-01-10 Ralf Corsépius <ralf.corsepius@rtems.org>
* config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
2007-01-09 Nicolas Pitre <nico@cam.org>
PR target/30173
* arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
2007-01-08 Nick Clifton <nickc@redhat.com>
* config/frv/predicates.md (reg_or_0_operand): Accept
CONST_DOUBLEs.
2007-01-08 Ralf Corsépius <ralf.corsepius@rtems.org>
* config/bfin/rtems.h, config/bfin/t-rtems: New.
* config.gcc: Add bfin*-rtems*.
2007-01-08 Chen liqin <liqin@sunnorth.com.cn>
* config/score/t-score-elf (MULTILIB_OPTIONS): Change.
* config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
const_simm15, const_pow2, const_npow2): Added.
* config/score/misc.md (insv, extv, extzv, movmemsi,
move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
* config/score/score.c (score_address_cost, score_select_cc_mode):
Added.
Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
Update score_print_operand.
* config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
Adjust register allocate order and update some macro define.
* config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
mdx_block_move_straight, mdx_block_move_loop_head,
mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop,
mdx_block_move): Added.
(mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
mdp_limm): Updated and fix some bug and typo.
* config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
(movsf, movdf, doloop_end): Added.
2007-01-05 Richard Guenther <rguenther@suse.de>
PR middle-end/27826
* tree.c (get_narrower): Do not construct COMPONENT_REFs
with mismatched types. Instead explicitly build a
conversion NOP_EXPR.
2007-01-05 Jakub Jelinek <jakub@redhat.com>
PR c/30360
* libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
denom against 0.0.
2007-01-03 Jakub Jelinek <jakub@redhat.com>
* unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
(struct _Unwind_Context): Rename args_size to flags, remove
signal_frame field, add a new args_size field and version field.
(_Unwind_IsSignalFrame, _Unwind_SetSignalFrame,
_Unwind_IsExtendedContext): New inline functions.
(_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
Assume by_value array is only present if _Unwind_IsExtendedContext.
(_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use
_Unwind_IsSignalFrame.
(__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT.
(uw_update_context_1): Use _Unwind_SetSignalFrame.
(uw_init_context_1): Initialize context->flags to
EXTENDED_CONTEXT_BIT.
* config/rs6000/linux-unwind.h (frob_update_context): Use
_Unwind_SetSignalFrame.
2007-01-01 Mike Stump <mrs@apple.com>
* configure.ac: Remove support for building with Apple's gcc-3.1.
2007-01-01 Andreas Schwab <schwab@suse.de>
PR target/29166
* config/ia64/ia64.c (ia64_compute_frame_size): Account space for
save of BR0 in extra_spill_size instead of spill_size.
(ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill
area.
(ia64_expand_epilogue): Restore BR0 from its new location.