+2007-03-16 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.ac: Don't require ELF binutils to tolerate # 0 "".
+ * configure: Rebuilt.
+
+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 DJ Delorie <dj@redhat.com>
+
+ * config/frv/predicates.md (minmax_operator): Don't check operands
+ here.
+
+2007-03-15 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-niter.c (record_estimate): Add "upper" argument.
+ Update constant estimates of number of iterations.
+ (record_nonwrapping_iv): Add "upper" argument. "data_size_bounds_p"
+ argument renamed to "realistic".
+ (compute_estimated_nb_iterations): Removed.
+ (record_niter_bound): New function.
+ (idx_infer_loop_bounds): For possible but unlikely tail arrays,
+ call record_nonwrapping_iv with upper = false.
+ (infer_loop_bounds_from_signedness): Pass upper argument to
+ record_nonwrapping_iv.
+ (estimate_numbers_of_iterations_loop): Do not call
+ compute_estimated_nb_iterations. Record estimate based on profile
+ information. Initialize the constant estimates of number of
+ iterations.
+ * tree-data-ref.c (estimated_loop_iterations): Return the recorded
+ estimates.
+ * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Add dump when
+ number of iterations is too small.
+ * cfgloop.h (struct nb_iter_bound): Remove "realistic" field.
+ (EST_NOT_AVAILABLE): Removed.
+ (struct loop): Replace estimated_nb_iterations by any_upper_bound,
+ nb_iterations_upper_bound, any_estimate and nb_iterations_estimate
+ fields.
+
+2007-03-15 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-niter.c (refine_bounds_using_guard, bound_difference):
+ Handle NE_EXPR guards.
+
+2007-03-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR c++/24924
+ * c-opts.c (c_common_post_options): Handle C++ post-processing here.
+ Set also -pedantic-errors by default for the preprocessor unless
+ -fpermissive is given.
+
+2007-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/29719
+ PR middle-end/31161
+ * builtins.c (expand_builtin_cexpi): As a fallback if we
+ don't have builtins for sincos or cexp create a function
+ declaration for cexp and expand to a call to that.
+ (expand_builtin_int_roundingfn): Always fall
+ back to floor/ceil and its variants even if they may be
+ not available.
+
+2007-03-15 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/31159
+ * cfglayout.c (fixup_reorder_chain): Postpone deleting dead
+ jump tables, move the call to delete_dead_jumptables from here...
+ (cfg_layout_finalize): ...to here. But rebuild jump labels first.
+ * cfgrtl.c (cfg_layout_can_merge_blocks_p): When not optimizing,
+ don't allow merging of blocks that try_redirect_by_replacing_jump
+ also does not handle when not optimizing.
+
+2007-03-15 Uros Bizjak <ubizjak@gmail.com>
+ Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * config/i386/i386.md (x86_sahf_1): Correctly handle
+ HAVE_AS_IX86_SAHF.
+
+2007-03-15 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/31167
+ * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use
+ x86_64_general_operand as operand[2] predicate. Remove "iF"
+ from operand constraints and use "e" constraint instead.
+ (*subti3_1, *subti3_1 splitter): Ditto.
+ (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as
+ operand[1] predicate.
+
+2007-03-14 Sebastian Pop <sebastian.pop@inria.fr>
+
+ * tree-loop-linear.c (gather_interchange_stats): For multidimensional
+ arrays, multiply the access strides by the size of the sub-array.
+ * testsuite/gcc.dg/tree-ssa/ltrans-5.c: New.
+
+2007-03-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * configure.ac (HAVE_AS_IX86_SAHF): On x86 targets check whether
+ the configured assembler supports the sahf mnemonic.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+ * config/i386/i386.md (x86_sahf_1): Depending on HAVE_AS_IX86_SAHF,
+ emit "sahf" or ".byte\t0x9e" as asm template.
+
+2007-03-14 Michael Meissner <michael.meissner@amd.com>
+
+ PR 31018
+ * config/i386/i386.h (X86_TUNE_SHORTEN_X87_SSE): New tuning
+ option to replace hard coded TARGET_xxx in md file.
+ (X86_TUNE_AVOID_VECTOR_DECODE): Ditto.
+ (X86_TUNE_SLOW_IMUL_IMM32_MEM): Ditto.
+ (X86_TUNE_SLOW_IMUL_IMM8): Ditto.
+ (X86_TUNE_MOVE_M1_VIA_OR): Ditto.
+ (X86_TUNE_NOT_UNPAIRABLE): Ditto.
+ (X86_TUNE_NOT_VECTORMODE): Ditto.
+ (TUNE_SHORTEN_X87_SSE): Use new tuning option.
+ (TUNE_AVOID_VECTOR_DECODE): Ditto.
+ (TUNE_SLOW_IMUL_IMM32_MEM): Ditto.
+ (TUNE_SLOW_IMUL_IMM8): Ditto.
+ (TUNE_MOVE_M1_VIA_OR): Ditto.
+ (TUNE_NOT_UNPAIRABLE): Ditto.
+ (TUNE_NOT_VECTORMODE): Ditto.
+
+ * config/i386/i386.c (ix86_tune_features): Fill in new tuning
+ options.
+
+ * config/i386/i386.md (fix_trunc?f?1_sse peephole2): Use new
+ tuning options instead of hard coded TARGET_xxx.
+ (fix ssemode peephole2's): Ditto.
+ (imul peephole2's): Ditto.
+ (movsi_or): Ditto.
+ (movdi_or_rex64): Ditto.
+ (move peephole2): Ditto.
+ (not peephole2's): Ditto.
+
+2007-03-14 Dirk Mueller <dmueller@suse.de>
+
+ * c-common.h (empty_body_warning): Rename to empty_if_body_warning.
+ * c-common.c (empty_if_body_warning): Rephrase diagnostic message.
+ * c-parser.c (c_parser_if_body): Always add an empty statement in case
+ of empty body.
+ * c-parser.c (c_parser_do_statement): Warn about empty body in
+ do/while statement.
+ * c-typeck (c_finish_if_stmt): Call empty_if_body_warning.
+ * doc/invoke.texi (-Wempty-body): Update documentation.
+
+2007-03-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR c/21438
+ * c-common.h (warn_for_div_by_zero): Declare.
+ * c-common.c (warn_for_div_by_zero): Define.
+ * c-typeck.c (build_binary_op): Call warn_for_div_zero instead of
+ warning.
+
+2007-03-14 Richard Sandiford <richard@codesourcery.com>
+
+ * Makefile.in (PREPROCESSOR_DEFINES): Add directory terminators
+ to PREFIX and STANDARD_PREFIX.
+
+2007-03-14 Richard Sandiford <richard@codesourcery.com>
+ Phil Edwards <phil@codesourcery.com>
+
+ * gthr-vxworks.h: Add an extern "C" wrapper for C++.
+ (__gthread_once_t): Remove busy field for RTPs.
+ (__GTHREAD_ONCE_INIT): Update accordingly.
+
+2007-03-14 Richard Sandiford <richard@codesourcery.com>
+
+ * doc/invoke.texi: Document VxWorks options.
+
+2007-03-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * doc/invoke.texi (i386 and x86-64 Options): Clarify -msahf option.
+
+2007-03-13 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-13 Alexandre Oliva <aoliva@redhat.com>
+
+ * flags.h (flag_random_seed): Remove declaration, in favor of...
+ * toplev.h (get_random_seed, set_random_seed): ... these.
+ * tree.c (get_file_function_name): Use the former.
+ * opts.c (common_handle_option): Use the latter.
+ * toplev.c
+
+2007-03-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/31127
+ * cse.c (cse_find_path): Do not bail out if a basic block that
+ we already visited now becomes part of a path that starts at a
+ different basic block. Just disallow this, to make sure we
+ visit each basic block at most once.
+
+2007-03-13 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes,
+ when profile esitmate is present, calls with very low frequency are
+ cold.
+
+2007-03-13 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/30730
+ PR tree-optimization/26900
+ * tree-ssa-loop-niter.c: Include gmp.h.
+ (bounds): New type.
+ (mpz_set_double_int, get_type_bounds, mpz_to_double_int,
+ split_to_var_and_offset, determine_value_range,
+ bound_difference_of_offsetted_base, refine_bounds_using_guard,
+ bound_difference, bounds_add, bounds_negate,
+ number_of_iterations_ne_max, dump_affine_iv): New functions.
+ (number_of_iterations_ne, number_of_iterations_lt_to_ne,
+ assert_loop_rolls_lt, assert_loop_rolls_le): Use bounds on the
+ difference of initial and final value of control iv to validate
+ results.
+ (number_of_iterations_cond): Add loop parameter. Determine bounds
+ on the difference of the extremes of the control iv. Add dumps.
+ (expand_simple_operations): Handle phi nodes.
+ (simplify_using_initial_conditions): Do not record used conditions.
+ (number_of_iterations_exit): Pass loop to number_of_iterations_cond.
+ Do not set additional_info.
+ (implies_nonnegative_p, implies_ge_p): Removed.
+ (derive_constant_upper_bound): Do not use parameter `additional'.
+ (record_estimate): Parameter `additional' removed. Parameter
+ `i_bound' added. Do not call derive_constant_upper_bound.
+ (record_nonwrapping_iv): Use derive_constant_upper_bound to
+ bound the number of iterations estimate.
+ (estimate_numbers_of_iterations_loop): Pass the estimate from
+ the number of iterations analysis to record_estimate.
+ * tree.h (multiple_of_p): Declare.
+ * tree-scalar-evolution.c (expression_expensive_p): Removed.
+ (scev_const_prop): Do not check expression_expensive_p.
+ * fold-const.c (multiple_of_p): Exported.
+ * double-int.c (double_int_mask): Exported.
+ * double-int.h (double_int_mask): Declare.
+ * tree-flow.h (struct tree_niter_desc): Removed additional_info
+ field. Added max field.
+
+2007-03-13 David Taylor <taylor@candd.org>
+
+ PR driver/12448:
+ * gcc.c (cpp_unique_options): If -MT or -MQ is seen, don't pass
+ default -MQ.
+
+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-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.opt (mcx16, msahf): New options.
+ * config/i386/i386.c (x86_cmpxchg16b, x86_sahf): Remove.
+ (ix86_tune_features) [X86_TUNE_USE_SAHF]: Enable for m_GENERIC.
+
+ * config/i386/driver-i386.c (bit_LAHF_LM): New define.
+ (host_detect_local_cpu): Detect cx16 and lahf_lm cpuid bits.
+ Output -mcx16 and -msahf options when corresponding bit is set.
+
+ * doc/invoke.texi (i386 and x86-64 Options): Document -mcx16
+ and -msahf options.
+
+2007-03-13 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.ac: Test for assembler tolerance to # 0 "".
+ * configure, config.in: Rebuilt.
+ * final.c (final_scan_insn): Emit it if HAVE_AS_LINE_ZERO.
+
+2007-03-13 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/invoke.texi (Spec Files): Update for '%{,' spec.
+
+ * config/rs6000/darwin-fallback.c: Compile file only on powerpc.
+ (handle_syscall): Handle direct system calls.
+ * config/rs6000/darwin.h (HAS_MD_FALLBACK_FRAME_STATE_FOR): Delete.
+
+2007-03-12 Brooks Moses <brooks.moses@codesourcery.com>
+
+ * doc/invoke.texi: Fix cpp.info cross-reference.
+ * doc/passes.texi: Fix gcc.info cross-reference.
+
+2007-03-12 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/30835
+ * lambda-code.c (can_convert_to_perfect_nest): Check whether
+ bb_for_stmt is not NULL before accessing it.
+
+2007-03-12 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for
+ some multilibs.
+
+2007-03-12 Brooks Moses <brooks.moses@codesourcery.com>
+
+ PR 30635
+ * doc/install.texi: Document --enable-stage1-languages
+
+2007-03-12 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree-pass.h (pass_into_cfg_layout_mode,
+ pass_outof_cfg_layout_mode): Declare.
+ * cfglayout.c (into_cfg_layout_mode, outof_cfg_layout_mode,
+ pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode): New.
+ * passes.c (pass_into_cfg_layout_mode): Schedule before jump2.
+ (pass_outof_cfg_layout_mode): Schedule after pass_rtl_ifcvt.
+
+2007-03-12 Seongbae Park <seongbae.park@gmail.com>
+
+ * c-decl.c (warn_variable_length_array): New function.
+ Refactored from grokdeclarator to handle warn_vla
+ and handle unnamed array case.
+ (grokdeclarator): Refactored VLA warning case.
+ * c.opt (Wvla): New flag.
+ * doc/invoke.texi (Wvla): New warning.
+
+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.
+ * config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
+ * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.
+
+2007-03-12 Mark Mitchell <mark@codesourcery.com>
+
+ * cppdefault.c (cpp_EXEC_PREFIX): New variable.
+ * cppdefault.h (cpp_PREFIX): Document.
+ (cpp_PREFIX_len): Likewise.
+ (cpp_EXEC_PREFIX): New variable.
+ * Makefile.in (PREPROCESSOR_DEFINES): Add STANDARD_EXEC_PREFIX.
+ * c-incpath.c (add_standard_paths): Correct logic for relocating
+ paths within prefix.
+
+2007-03-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (fixuns_trunc<mode>hi2): Implement from
+ fixuns_truncsfhi2 and fixuns_truncdfhi2 using SSEMODEF
+ mode macro.
+ (fix_trunc<mode>di_sse): Implement from fix_truncsfdi_sse and
+ fix_truncdfdi_sse using SSEMODEF mode macro.
+ (fix_trunc<mode>si_sse): Implement from fix_truncsfsi_sse and
+ fix_truncdfsi_sse using SSEMODEF mode macro.
+ (fix_trunc?f?i_sse peephole2): Implement using SSEMODEF mode macro.
+ (fix_trunc?f?i_sse K8 peephole2): Fix register constraint.
+
+2007-03-12 Richard Sandiford <richard@codesourcery.com>
+
+ * config.gcc (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add
+ elfos.h to tm_file.
+
+2007-03-12 Olga Golovanevsky <olga@il.ibm.com>
+
+ * tree.h : Add multiple_of_p declaration.
+ * fold-const.c (multiple_of_p): Make multiple_of_p public.
+ * ipa-type-escape.c (results_of_malloc): Redundant.
+ (visited_stmts): New. Visited stmt for walk_use_def_chains.
+ (cast_type): Extended with new members.
+ (check_cast): Returns cast_type.
+ (cast): New structure for data of walk_use_def_chains.
+ (is_malloc_result, is_cast_from_non_pointer_1,
+ is_cast_from_non_pointer,
+ is_array_access_through_pointer_and_index): New functions.
+ (look_for_casts): Returns cast types.
+ (check_call): Returns void.
+ (okay_pointer_operation): Use support of pointer plus index,
+ pointer plus constant and allow all multiplications.
+
+2007-03-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/31115
+ * tree-vrp.c (extract_range_from_binary_expr): Make sure
+ the shift count is positive and non-anti-range for RSHIFT_EXPR.
+ A shift count of zero is not special as with *_DIV_EXPR.
+ (vrp_int_const_binop): Handle RSHIFT_EXPR for determining overflow
+ direction.
+
+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-11 Ira Rosen <irar@il.ibm.com>
+
+ * 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-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (frndintxf2): Rename to ...
+ (rintxf2): ... this. Remove expander having same name.
+ (rintsf2, rintdf2): Implement using SSEMODEF macro.
+ (roundsf2, rounddf2): Ditto.
+ (lrint<mode>di2, lrint<mode>si2): Implement using SSEMODEI24 macro.
+ (lround<mode>di2, lround<mode>si2): Ditto.
+
+2007-03-11 Steven Bosscher <steven@gcc.gnu.org>
+
+ * lower-subreg.c: Include except.h.
+ (decompose_multiword_subregs): Verify that the only control flow
+ insns we can split are loads to multi-words pseudos.
+ Handle breaking such blocks after splitting, instead of calling
+ find_many_sub_basic_blocks.
+
+ * loop-unroll.c (split_edge_and_insert): Don't set BB_SUPERBLOCK
+ on the new basic block. Add a lengthy comment explaining why we
+ thought this was necessary.
+ * cfglayout.c (cfg_layout_finalize): Don't break superblocks.
+
+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-10 Dirk Mueller <dmueller@suse.de>
+
+ * c-common.c (warn_logical_operator): Fix condition.
+
+2007-03-10 Tobias Schlüter <tobi@gcc.gnu.org>
+
+ * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Add missing
+ quotation mark.
+ * config/darwin.c (machopic_select_section): Remove superfluous
+ argument in call to categorize_decl_for_section. Remove unused
+ variable shlib.
+
+2007-03-10 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac (glibc_header_dir): Set using with_build_sysroot if
+ defined.
+ * configure: Regenerate.
+
+2007-03-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/31101
+ * config/i386/i386.md (UNSPEC_C2_FLAG): New constant.
+ (fpremxf4_i387, fprem1xf4_i387): Use UNSPEC_C2_FLAG.
+ (fmodxf3, fmod<mode>3, remainderxf3, remainder<mode>3):
+ Add LABEL_NUSES to emitted label.
+ * config/i386/i386.c (ix86_emit_fp_unordered_jump): Add
+ branch probability value to emitted jump insn.
+ * reg-stack.c (subst_stack_regs_pat)[UNSPEC]: Handle UNSPEC_C2_FLAG.
+ Do not check life information and do not re-arrange input operands
+ for UNSPEC_FSCALE_EXP, UNSPEC_FPREM_U and UNSPEC_FPREM1_U.
+
+2007-03-10 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_insn_length_adjustment): Adjust for
+ the change of decode_asm_operands.
+
+2007-03-10 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * mode-switching.c (create_pre_exit): Skip blockage insn.
+
+2007-03-09 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-pass.h (TODO_update_smt_usage): Remove.
+ Update all users.
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Remove
+ argument SOME.
+ Update all users.
+
+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 Geoffrey Keating <geoffk@apple.com>
+
+ * gcc.c: Document %{, in big comment at top.
+ (input_suffix_matches): Remove special handling for .s and
+ .S.
+ (input_spec_matches): New.
+ (handle_braces): Handle %{,.
+ (validate_switches): ',' indicates a value which is not a switch.
+ * config/alpha/osf.h (ASM_FINAL_SPEC): Use %{, rather than %{.
+ to detect assembler input.
+ * config/i386/sol2.h (CPP_SPEC): Likewise.
+ * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
+ * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
+ * config/rs6000/lynx.h (ASM_SPEC): Likewise.
+ * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
+ * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Objective-C plus
+ -m64 causes deployment target to default to 10.5.
+ * config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Likewise.
+
+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-09 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_comparison): Remove compile-time evaluation of
+ complex constant equality/inequality comparisons for here.
+ (fold_binary) <EQ_EXPR>: Simplify complex comparisons that are
+ known at compile-time or can be simplified to a scalar comparison.
+ (fold_relational_const): Move compile-time evaluation of complex
+ constant equality/inequality comparisons to here.
+
+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.
+ (fold_rtx): Recurse, like before 2006-11-03.
+
+2007-03-09 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/t-m32c (m32c-pragma.o): Add TM_H dependency to
+ m32c-pragma.o.
+
+2007-03-09 Aldy Hernandez <aldyh@redhat.com>
+
+ PR tree-optimization/30375
+ * tree-ssa-dse.c (dse_possible_dead_store_p): Do not eliminate if
+ LHS of statements is not the same.
+ * testsuite/gcc.dg/tree-ssa/ssa-dse-10.c: New.
+
+2007-03-09 Chao-ying Fu <fu@mips.com>
+
+ * doc/extend.texi (MIPS DSP Built-in Functions): Document the DSP
+ REV 2.
+ * doc/invoke.texi (-mdspr2): Document new option.
+ * config/mips/mips.md (UNSPEC_ABSQ_S_QB .. UNSPEC_DPSQX_SA_W_PH):
+ New unspec for DSP REV 2.
+ (<u>mulsidi3_32bit_internal): Check if !TARGET_DSPR2, because
+ these instructions are extended in DSP REV 2.
+ (mips-dspr2.md): Include.
+ * config/mips/mips.opt (mdspr2): New option.
+ * config/mips/mips.c (mips_function_type): Add MIPS_V4QI_FTYPE_V4QI,
+ MIPS_SI_FTYPE_SI_SI_SI, MIPS_DI_FTYPE_DI_USI_USI, MIPS_DI_FTYPE_SI_SI,
+ MIPS_DI_FTYPE_USI_USI, MIPS_V2HI_FTYPE_SI_SI_SI.
+ (override_options): Check TARGET_DSPR2 to enable MASK_DSP.
+ (CODE_FOR_mips_mul_ph): Define it to CODE_FOR_mulv2hi3.
+ (dsp_bdesc): Add DSP REV 2 builtins. Remove 32-bit only DSP builtins.
+ (dsp_32only_bdesc): New description table for 32-bit only DSP REV 1
+ and 2 builtins.
+ (bdesc_map): Add one field of unsupported_target_flags.
+ (bdesc_arrays): Update entries to have extra fields. Add
+ dsp_32only_bdesc.
+ (mips_init_builtins): Initialize new function types.
+ Check unsupported_target_fileds to filter out builtins.
+ * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_dspr2 if
+ TARGET_DSPR2.
+ (ASM_SPEC): Pass mdspr2 to the assembler.
+ * config/mips/mips-dspr2.md: New file.
+
+2007-03-09 Sa Liu <saliu@de.ibm.com>
+
+ * config/rs6000/altivec.md: Fix vcond patterns using if_then_else.
+
+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-09 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/17946
+ * doc/invoke.texi (-Wlogical-op): Document.
+ * common.opt (-Wlogical-op): New.
+ * c-common.h (warn_logical_operator): Declare.
+ * c-common.c (warn_logical_operator): Define.
+ * c-typeck.c (parser_build_binary_op): Call
+ warn_logical_operator.
+
2007-03-09 Alexandre Oliva <aoliva@redhat.com>
* rtl.h (gen_rtx_ASM_INPUT): Use "" instead of NULL file name.
x86_sse_unaligned_move_optimal, x86_sse_typeless_stores,
x86_sse_load0_by_pxor, x86_use_ffreep, x86_use_incdec,
x86_inter_unit_moves, x86_ext_80387_constants, x86_four_jump_limit,
- x86_schedule, x86_use_bt, x86_pad_returns): Merge into ...
+ x86_schedule, x86_use_bt, x86_pad_returns,
+ x86_use_xchgb): Merge into ...
(ix86_tune_features): ... here. New array.
- (x86_cmove, x86_use_xchgb, x86_cmpxchg, x86_cmpxchg8b,
- x86_xadd, x86_bswap): Merge into ...
+ (x86_cmove, x86_cmpxchg, x86_cmpxchg8b, x86_xadd,
+ x86_bswap): Merge into ...
(ix86_arch_features): ... here. New array.
(x86_3dnow_a): Remove.
(x86_accumulate_outgoing_args): Make static.
2007-03-05 Mike Stump <mrs@apple.com>
- * c-common.c (targetcm): Add.
+ * c-common.c (targetcm): Add.
* c-opts.c (c_common_handle_option): Handle language specific
target options.
* opts.c (handle_option): Verify language for target options, if