OSDN Git Service

2006-02-20 Paolo Bonzini <bonzini@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index ae49e0f..4419dd1 100644 (file)
+2006-02-20  Paolo Bonzini  <bonzini@gnu.org>
+
+       * configure.ac (target_list): Add install-info, dvi, html.
+       * configure: Regenerate.
+
+       * ada/Make-lang.in, cp/Make-lang.in, fortran/Make-lang.in,
+       java/Make-lang.in, objc/Make-lang.in, objcp/Make-lang.in,
+       treelang/Make-lang.in: Do not use double-colon rules.
+
+2006-02-20  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree.h (struct tree_memory_tag): Add is_used_alone member.
+       (TMT_USED_ALONE): New macro.
+       * tree-pass.h (PROP_tmt_usage): New property.
+       (TODO_update_tmt_usage): New todo.
+       * tree-ssa-alias.c (updating_used_alone): New variable.
+       (recalculate_used_alone): New function.   
+       (compute_may_aliases): Set updating_used_alone, call
+       recalculate_used_alone. 
+       * tree-sra.c (pass_sra): Note that this pass destroys
+       PROP_tmt_usage, and add TODO_update_tmt_usage.
+       * tree-ssa-forwprop.c (pass_forwprop): Ditto.
+       * tree-flow.h (updating_used_alone): Prototype.
+       (recalculate_used_alone): Ditto.
+       * passes.c (execute_todo): Add code to set updating_used_alone,
+       and call recalculate.
+       * tree-ssa-operands.c (add_virtual_operand): Only append bare def
+       for clobber if used alone, and add assert to verify used_alone
+       status.
+       
+2006-02-20  Angel Nunez Mencias  <anunez@de.ibm.com>
+
+       * config/s390/s390.c (legitimize_pic_address): Assertions checking
+       for non tls symbols added.
+       (legitimize_address): Do nothing for PLUS expressions if one of the
+       addends is a tls symbol reference.
+
+2006-02-20  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR bootstrap/25476
+
+       * Makefile.in (LDFLAGS): Define from autoconf substitution.
+
+       * Makefile.in (BOOTSTRAPPING): New.
+       (quickstrap): New definition if BOOTSTRAPPING=yes.
+
+       * Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
+       * configure.ac: Substitute all_selected_languages with the languages
+       that were configured.  For all the other variables except
+       lang_specs_files, include all the languages in the tree.
+       * configure: Regenerate.
+       
+       * Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
+       if there is one.  Run the commands to run fixincludes in the same
+       subshell.
+
+       * doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
+       * doc/install.texi: Document exact conventions for searching target tools.
+       Document --with-build-time-tools.  Document toplevel bootstrap.  Document
+       something more about building an Ada cross-compiler.  Don't list GNU Make
+       requirements which affect all platforms.
+
+2006-02-19  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/19543
+       * varasm.c (compare_constant) <INTEGER_CST>: Integer constants are
+       only equivalent if the have both the same mode and precision.
+
+2006-02-20  Ben Elliston  <bje@au.ibm.com>
+
+       * doc/tree-ssa.texi (Interfaces): Describe low vs. high GIMPLE.
+
+2006-02-19  Roger Sayle  <roger@eyesopen.com>
+           Steven Bosscher  <stevenb.gcc@gmail.com>
+
+       * gcse.c (want_to_gcse_p): On STACK_REGS targets, look through
+       constant pool references to identify stack mode constants.
+       * rtlanal.c (constant_pool_constant_p): New predicate to check
+       whether operand is a floating point constant in the pool.
+       * rtl.h (constant_pool_constant_p): Prototype here.
+       * loop.c (scan_loop): Avoid hoisting constants from the constant
+       pool on STACK_REGS targets.
+       (load_mems): Likewise.
+       * loop-invariant.c (get_inv_cost): Make hoisting constant pool
+       loads into x87 registers expensive in terms of register pressure.
+
+2006-02-19  Roger Sayle  <roger@eyesopen.com>
+
+       * gthr-posix.h: On Tru64, map __gthr_foo as a weak reference to
+       __foo and not foo when _PTHREAD_USE_MANGLED_NAMES_ is defined.
+
+2006-02-19  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/xcoff.h (TARGET_ASM_OUTPUT_ANCHOR): Define.
+       * config/rs6000/rs6000.c (rs6000_xcoff_asm_output_anchor): Define.
+
+2006-02-19  Daniel Berlin  <dberlin@dberlin.org>
+
+       * doc/invoke.texi: Document -fipa-pta.
+       * common.opt: Add ipa-pta option.
+       * tree-ssa-structalias.c (DONT_PROPAGATE_WITH_ANYTHING): Removed.
+       (do_sd_constraint): Enable DONT_PROPAGATE_WITH_ANYTHING code.
+       (do_ds_constraint): Ditto.
+       (get_constraint_for): Only add to referenced_vars if
+       referenced_vars exists.
+       (insert_into_field_list): Rewrite to do this unsorted.
+       (insert_into_field_list_sorted): Rename old insert_into_field_list
+       to this.
+       (create_function_info_for): Use insert_into_field_list_sorted.
+       (create_variable_info_for): Rewrite so it uses unsorted version,
+       since the field list is sorted.
+       (intra_create_variable_infos): Only add to referenced_vars if
+       referenced_vars exists.
+       (ipa_pta_execute): Init heapvars, and delete when done.
+       * passes.c (init_optimization_passes): Add call to pass_ipa_pta.
+
+2006-02-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * doc/install.texi: Add missing `@samp'.
+
+2006-02-18  Andrew Pinski <pinskia@physics.uc.edu>
+
+       * config/rs6000/darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P):
+       Use the arguments.
+
+2006-02-18  Mark Wielaard  <mark@klomp.org>
+
+       * doc/contrib.texi (Contributors): Add classpath/libgcj hackers
+       who added new 4.1 features, bug fixes and integration support.
+
+2006-02-18  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/26350
+       * config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized
+       MEM for ABI_V4 pic.
+
+2006-02-18  Richard Sandiford  <richard@codesourcery.com>
+
+       * cselib.c (cselib_init): Change RTX_SIZE to RTX_CODE_SIZE.
+       * emit-rtl.c (copy_rtx_if_shared_1): Use shallow_copy_rtx.
+       (copy_insn_1): Likewise.  Don't copy each field individually.
+       Reindent.
+       * read-rtl.c (apply_macro_to_rtx): Use RTX_CODE_SIZE instead
+       of RTX_SIZE.
+       * reload1.c (eliminate_regs): Use shallow_copy_rtx.
+       * rtl.c (rtx_size): Rename variable to...
+       (rtx_code_size): ...this.
+       (rtx_size): New function.
+       (rtx_alloc_stat): Use RTX_CODE_SIZE instead of RTX_SIZE.
+       (copy_rtx): Use shallow_copy_rtx.  Don't copy each field individually.
+       Reindent.
+       (shallow_copy_rtx_stat): Use rtx_size instead of RTX_SIZE.
+       * rtl.h (rtx_code_size): New variable.
+       (rtx_size): Change from a variable to a function.
+       (RTX_SIZE): Rename to...
+       (RTX_CODE_SIZE): ...this.
+
+       PR target/9703
+       PR tree-optimization/17106
+       * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Document.
+       (Anchored Addresses): New section.
+       * doc/invoke.texi (-fsection-anchors): Document.
+       * doc/rtl.texi (SYMBOL_REF_IN_BLOCK_P, SYMBOL_FLAG_IN_BLOCK): Likewise.
+       (SYMBOL_REF_ANCHOR_P, SYMBOL_FLAG_ANCHOR): Likewise.
+       (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): Likewise.
+       * hooks.c (hook_bool_mode_rtx_false): New function.
+       * hooks.h (hook_bool_mode_rtx_false): Declare.
+       * gengtype.c (create_optional_field): New function.
+       (adjust_field_rtx_def): Add the "block_sym" field for SYMBOL_REFs when
+       SYMBOL_REF_IN_BLOCK_P is true.
+       * target.h (output_anchor, use_blocks_for_constant_p): New hooks.
+       (min_anchor_offset, max_anchor_offset): Likewise.
+       (use_anchors_for_symbol_p): New hook.
+       * toplev.c (compile_file): Call output_object_blocks.
+       (target_supports_section_anchors_p): New function.
+       (process_options): Check that -fsection-anchors is only used on
+       targets that support it and when -funit-at-a-time is in effect.
+       * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Only create DECL_RTL
+       if the decl doesn't have one.
+       * dwarf2out.c: Remove instantiations of VEC(rtx,gc).
+       * expr.c (emit_move_multi_word, emit_move_insn): Pass the result
+       of force_const_mem through use_anchored_address.
+       (expand_expr_constant): New function.
+       (expand_expr_addr_expr_1): Call it.  Use the same modifier when
+       calling expand_expr for INDIRECT_REF.
+       (expand_expr_real_1): Pass DECL_RTL through use_anchored_address
+       for all modifiers except EXPAND_INITIALIZER.  Use expand_expr_constant.
+       * expr.h (use_anchored_address): Declare.
+       * loop-unroll.c: Don't declare rtx vectors here.
+       * explow.c: Include output.h.
+       (validize_mem): Call use_anchored_address.
+       (use_anchored_address): New function.
+       * common.opt (-fsection-anchors): New switch.
+       * varasm.c (object_block_htab, anchor_labelno): New variables.
+       (hash_section, object_block_entry_eq, object_block_entry_hash)
+       (use_object_blocks_p, get_block_for_section, create_block_symbol)
+       (use_blocks_for_decl_p, change_symbol_section): New functions.
+       (get_variable_section): New function, split out from assemble_variable.
+       (make_decl_rtl): Create a block symbol if use_object_blocks_p and
+       use_blocks_for_decl_p say so.  Use change_symbol_section if the
+       symbol has already been created.
+       (assemble_variable_contents): New function, split out from...
+       (assemble_variable): ...here.  Don't output any code for
+       block symbols; just pass them to place_block_symbol.
+       Use get_variable_section and assemble_variable_contents.
+       (get_constant_alignment, get_constant_section, get_constant_size): New
+       functions, split from output_constant_def_contents.
+       (build_constant_desc): Create a block symbol if use_object_blocks_p
+       says so.  Or into SYMBOL_REF_FLAGS.
+       (assemble_constant_contents): New function, split from...
+       (output_constant_def_contents): ...here.  Don't output any code
+       for block symbols; just pass them to place_section_symbol.
+       Use get_constant_section and get_constant_alignment.
+       (force_const_mem): Create a block symbol if use_object_blocks_p and
+       use_blocks_for_constant_p say so.  Or into SYMBOL_REF_FLAGS.
+       (output_constant_pool_1): Add an explicit alignment argument.
+       Don't switch sections here.
+       (output_constant_pool): Adjust call to output_constant_pool_1.
+       Switch sections here instead.  Don't output anything for block symbols;
+       just pass them to place_block_symbol.
+       (init_varasm_once): Initialize object_block_htab.
+       (default_encode_section_info): Keep the old SYMBOL_FLAG_IN_BLOCK.
+       (default_asm_output_anchor, default_use_aenchors_for_symbol_p)
+       (place_block_symbol, get_section_anchor, output_object_block)
+       (output_object_block_htab, output_object_blocks): New functions.
+       * target-def.h (TARGET_ASM_OUTPUT_ANCHOR): New macro.
+       (TARGET_ASM_OUT): Include it.
+       (TARGET_USE_BLOCKS_FOR_CONSTANT_P): New macro.
+       (TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET): New macros.
+       (TARGET_USE_ANCHORS_FOR_SYMBOL_P): New macro.
+       (TARGET_INITIALIZER): Include them.
+       * rtl.c (rtl_check_failed_block_symbol): New function.
+       * rtl.h: Include vec.h.  Declare heap and gc rtx vectors.
+       (block_symbol, object_block): New structures.
+       (rtx_def): Add a block_symbol field to the union.
+       (BLOCK_SYMBOL_CHECK): New macro.
+       (rtl_check_failed_block_symbol): Declare.
+       (SYMBOL_FLAG_IN_BLOCK, SYMBOL_FLAG_ANCHOR): New SYMBOL_REF flags.
+       (SYMBOL_REF_IN_BLOCK_P, SYMBOL_REF_ANCHOR_P): New predicates.
+       (SYMBOL_FLAG_MACH_DEP_SHIFT): Bump by 2.
+       (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): New accessors.
+       * output.h (output_section_symbols): Declare.
+       (object_block): Name structure.
+       (place_section_symbol, get_section_anchor, default_asm_output_anchor)
+       (default_use_anchors_for_symbol_p): Declare.
+       * Makefile.in (RTL_BASE_H): Add vec.h.
+       (explow.o): Depend on output.h.
+       * config/rs6000/rs6000.c (TARGET_MIN_ANCHOR_OFFSET): Override default.
+       (TARGET_MAX_ANCHOR_OFFSET): Likewise.
+       (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
+       (rs6000_use_blocks_for_constant_p): New function.
+
+2006-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0.
+
+2006-02-18  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/25680
+       * tree-ssa-ccp.c (ccp_fold): Handle store CCP of REALPART_EXPR and
+       IMAGPART_EXPR.
+
+2006-02-18  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-flow.h (struct var_ann_d): Rename field is_alias_tag to
+       is_aliased.
+       Update all users.
+
+2006-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/26334
+       * stmt.c (decl_overlaps_hard_reg_set_p): Use DECL_HARD_REGISTER
+       instead of DECL_REGISTER.
+
+2006-02-18  Olivier Hainque  <hainque@adacore.com>
+
+       PR ada/13408
+       * pa.h (WIDEST_HARDWARE_FP_SIZE): Define.
+
+2006-02-18  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR target/24837
+       * config.gcc: Define UCLIBC_DEFAULT to 0 or 1.
+       * opth-gen.awk: Handle Var and InverseMask together.
+       * config/linux.opt (muclibc, mglibc): Use Var(linux_uclibc).
+       * config/linux.h: Use #if not #ifdef for testing UCLIBC_DEFAULT.
+       (TARGET_C99_FUNCTIONS): Test OPTION_GLIBC not TARGET_GLIBC.
+       (CHOOSE_DYNAMIC_LINKER): Give an error for -mglibc and -muclibc
+       used together.
+       (UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
+       LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
+       * config/alpha/linux-elf.h (GLIBC_DYNAMIC_LINKER,
+       UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
+       LINUX_DYNAMIC_LINKER): Define.
+       (ELF_DYNAMIC_LINKER): Define to LINUX_DYNAMIC_LINKER.
+       * config/alpha/linux.h (TARGET_C99_FUNCTIONS): Define to
+       TARGET_GLIBC.
+       * config/cris/linux.h (GLIBC_DYNAMIC_LINKER): Define.
+       (CRIS_LINK_SUBTARGET_SPEC): Pass a -dynamic-linker option.
+       * config/frv/linux.h (GLIBC_DYNAMIC_LINKER): Define.
+       (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
+       (TARGET_C99_FUNCTIONS): Don't define.
+       * config/i386/linux.h (DYNAMIC_LINKER): Rename to
+       GLIBC_DYNAMIC_LINKER.
+       (SUBTARGET_EXTRA_SPECS): Use LINUX_DYNAMIC_LINKER.
+       * config/i386/linux64.h (GLIBC_DYNAMIC_LINKER32,
+       GLIBC_DYNAMIC_LINKER64): Define.
+       (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
+       LINUX_DYNAMIC_LINKER64.
+       * config/ia64/linux.h (GLIBC_DYNAMIC_LINKER): Define.
+       (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
+       * config/m32r/linux.h (GLIBC_DYNAMIC_LINKE): Define.
+       (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
+       * config/m68k/linux.h (GLIBC_DYNAMIC_LINKER): Define.
+       (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
+       * config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32,
+       GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32,
+       UCLIBC_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKERN32): Define.
+       (LINK_SPEC): Use LINUX_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKER64
+       and LINUX_DYNAMIC_LINKER32.
+       * config/mn10300/linux.h (GLIBC_DYNAMIC_LINKER): Define.
+       (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
+       * config/pa/pa-linux.h (GLIBC_DYNAMIC_LINKER): Define.
+       (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
+       * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define to
+       TARGET_GLIBC.
+       * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
+       (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64,
+       UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
+       CHOOSE_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
+       LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
+       (LINK_OS_LINUX_SPEC32): Use LINUX_DYNAMIC_LINKER32.
+       (LINK_OS_LINUX_SPEC64): Use LINUX_DYNAMIC_LINKER64.
+       * config/rs6000/sysv4.h (GLIBC_DYNAMIC_LINKER,
+       UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
+       LINUX_DYNAMIC_LINKER): Define.
+       (LINK_OS_LINUX_SPEC): Use LINUX_DYNAMIC_LINKE.
+       * config/s390/linux.h (GLIBC_DYNAMIC_LINKER32,
+       GLIBC_DYNAMIC_LINKER64): Define.
+       (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
+       LINUX_DYNAMIC_LINKER64.
+       * config/sh/linux.h (GLIBC_DYNAMIC_LINKER): Define.
+       (SUBTARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
+       * config/sparc/linux.h (GLIBC_DYNAMIC_LINKER,
+       UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
+       LINUX_DYNAMIC_LINKER): Define.
+       (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
+       (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
+       * config/sparc/linux64.h (GLIBC_DYNAMIC_LINKER32,
+       GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32,
+       UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER,
+       LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
+       (LINK_ARCH32_SPEC): Use LINUX_DYNAMIC_LINKER32.
+       (LINK_ARCH64_SPEC, LINK_SPEC): Use LINUX_DYNAMIC_LINKER64.
+       (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
+       * config/xtensa/linux.h (GLIBC_DYNAMIC_LINKER): Define.
+       (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
+       * doc/invoke.texi (-muclibc): Remove caveat about supported
+       targets.
+
+2006-02-17  Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
+
+       * doc/cpp.texi (__TIMESTAMP__): Document.
+
+2006-02-17  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/25600
+       * fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when
+       C is one less than the width of X (and related transformations).
+       * simplify_rtx.c (simplify_unary_operation_1): Transform 
+       (neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C)
+       depending on STORE_FLAG_VALUE, were C is one less then the
+       width of X.
+
+2006-02-17  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/26341
+       * tree-ssa-operands.c (add_virtual_operand): Remove assert 
+       about NAME_MEMORY_TAG's.
+
+2006-02-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/26255
+       * pa.md: Create separate HI and QI move patterns for 32-bit and 64-bit
+       with hardware float support, and software float support.  Add fcpy
+       alternative to hardware patterns.  Add alternatives to copy between
+       general and floating-point registers to the 32-bit pattern.
+       * pa.c (pa_secondary_reload): Don't abort if reload tries to find a
+       secondary reload to load a QI or HI mode constant into a floating
+       point register. 
+       * pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode.
+       * pa64-regs.h (VALID_FP_MODE_P): Likewise.
+
+2006-02-17  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR target/26272
+       * config/rs6000/darwin.md (load_macho_picbase_si): Add
+       pc to the pattern.
+       (load_macho_picbase_di): Likewise.
+
+2006-02-16  Jeff Law  <law@redhat.com>
+
+       * tree-vrp.c (set_value_range_to_nonnegative): New function.
+       (vrp_expr_computes_nonnegative, ssa_name_nonnegative_p): Likewise.
+       (ssa_name_nonzero_p): Likewise.
+       (get_value_range): Return NULL if VRP is not running.
+       (extract_range_from_expr): Fallback to tree_expr_XXX_p if
+       VRP routines do not discover a range.
+       (vrp_finalize): Clear VR_VALUE to indicate VRP is not running.
+       * tree.h (ssa_name_nonzero_p, ssa_name_nonnegative_p): Prototype.
+       * fold-const.c (tree_expr_nonzero_p): For SSA_NAMEs, query VRP.
+       (tree_expr_nonnegative_p): Similarly.
+       * tree-ssa-dom.c (nonzero_vars, nonzero_vars_stack): Remove.
+       (restore_nonzero_vars_to_original_value): Remove.
+       (unsafe_associative_fp_binop): Remove.
+       (tree_ssa_dominator_optimize): Remove initialization and
+       finalization of nonzero_vars and nonzero_vars_stack.
+       (dom_opt_initialize_block): No longer push marker on
+       nonzero_vars_stack.
+       (dom_opt_finalize_block): No longer call
+       restore_nonzero_vars_to_original_value.
+       (record_equivalences_from_phis): No longer look for
+       nonzero PHI arguments.
+       (cprop_into_successor_phis): No longer propagate nonzero
+       property into PHI arguments.  Lose unused argument.  Caller
+       updated.
+       (record_equivalences_from_stmt): No longer record nonzero
+       values for SSA_NAMEs.
+       (lookup_avail_expr): No longer use nonzero_vars.
+
+       * stor-layout.c (set_sizetype): Set TYPE_MAX_VALUE properly
+       for sizetype when sizetype is unsigned.
+
+2006-02-16  Denis Nagorny <denis_nagorny@linux.intel.com>
+
+       PR rtl-optimization/25603
+       * reload.c (reg_inc_found_and_valid_p): New. Check REG_INC note.
+       (regno_clobbered_p): Use it. Reusing SETS argument for REG_INC case.
+       * reload1.c (choose_reload_regs): Added call of regno_clobbered_p 
+       with new meaning of SETS.
+
+2006-02-16  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR target/20353
+       PR target/24578
+       PR target/24837
+       * config/linux.opt: New file.
+       * config/linux.h (CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
+       LINUX_DYNAMIC_LINKER): Define.
+       (TARGET_C99_FUNCTIONS): Define depending on TARGET_GLIBC.
+       * config.gcc (*-*-linux*): Define extra_options.
+       (*-*-*uclibc*): Define UCLIBC_DEFAULT.
+       (arm*-*-linux-gnueabi): Change to arm*-*-linux-*eabi.
+       * config/arm/linux-eabi.h (LINUX_TARGET_INTERPRETER): Change to
+       GLIBC_DYNAMIC_LINKER.
+       * config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): Likewise.
+       (LINUX_TARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
+       * config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Define.
+       (LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
+       * doc/invoke.texi (GNU/Linux Options): New section.
+
+2006-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.md (setjmp): Rewrite.
+       (setjmp_32): Delete.
+       (setjmp_64): Likewise.
+
+2006-02-16  Daniel Berlin <dberlin@dberlin.org>
+
+       * tree-ssa-operands.c (access_can_touch_variable): Fix typo in
+        previous change.
+
+2006-02-16  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * loop-invariant.c (invariant_for_use, check_dependencies): Fail for
+       read-write uses.
+
+2006-02-16  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR rtl-optimization/26296
+       * Makefile.in (loop-invariant.c): Add except.h dependency.
+       * loop-invariant.c: Include except.h.
+       (find_invariant_insn): Ignore insns satisfying can_throw_internal.
+
+2005-02-16  Paul Brook  <paul@codesourcery.com>
+
+       * reload1.c (emit_reload_insns): Invalidate dead input registers used
+       for reloads.
+
+2006-02-16  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       PR rtl-optimization/25636
+       * local-alloc.c (update_equiv_regs): Lose a bogus rtx_equal_p test
+       when deciding whether an insn is an initializing insn.
+
+2006-02-15 Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree.c (init_ttree): Add STRUCT_FIELD_TAG handling.
+       (tree_code_size): Ditto.
+       * tree.h (struct tree_memory_tag): Remove parent_var.
+       (struct tree_struct_field_tag): New.
+       (SFT_OFFSET): New.
+       (SFT_SIZE): New.
+       (union tree_node): Add sft member.
+       * tree-ssa-alias.c (get_tmt_for): Don't handle TYPE_READONLY
+       specially here.
+       (create_sft): Add size and offset argument, set SFT_OFFSET and
+       SFT_SIZE.
+       (create_overlap_variables_for): Update for SFT_OFFSET/SFT_SIZE.
+       * treestruct.def: Add TS_STRUCT_FIELD_TAG.
+       * tree-flow-inline.h (get_subvar_at): Update for
+       SFT_OFFSET/SFT_SIZE.
+       (var_can_have_subvars): Ditto.
+       (overlap_subvar): Ditto.
+       * print-tree.c (print_node): Print out interesting things for
+       SFT's.
+       * tree-flow.h (struct subvar): Remove offset and size members.
+       * tree-ssa-operands.c (get_expr_operands): Update for
+       get_indirect_ref_operands changes.
+       (get_indirect_ref_operands): Call add_virtual_operand instead of
+       add_stmt_operand.  Only recurse on base var if requested.
+       (access_can_touch_variable): New function.
+       (add_stmt_operand): Split virtual operand handling into ...
+       (add_virtual_operand): Here.  Add offset, size, and for_clobber
+       arguments.  Prune alias sets.
+       (add_call_clobber_ops): Call add_virtual_operand.
+       
+2006-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/26300
+       * combine.c (make_extraction): Bail out if ORIG_POS is negative.
+
+       * tree.h (struct tree_omp_clause): Use OMP_CLAUSE_CODE rather
+       than TREE_CODE as index into omp_clause_num_ops array.
+
+2006-02-15  Uttam Pawar  <uttamp@us.ibm.com>
+
+       PR rtl-optimization/26184
+       * modulo-sched.c (generate_reg_moves): Free bitmap vector
+       uses_of_defs.
+       * modulo-sched.c (sms_schedule): Free g_arr pointer.
+       * modulo-sched.c (sms_schedule_by_order): Free bitmap pointers
+       must_precede, must_follow and tobe_scheduled.
+
+       PR other/26147
+       * opts.c (common_handle_option): Free new_option pointer.
+       * df-core.c (df_analyze): Free postorder pointer.
+
+2006-02-15  Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+       * Makefile.in: Fix the examples about the use of stamps
+
+2006-02-15  Michael Matz  <matz@suse.de>
+
+       PR middle-end/22275
+
+       * stor-layout.c (layout_decl): Zero-width bitfields aren't
+       influenced by maximum_field_alignment or DECL_PACKED.
+       (update_alignment_for_field): Ditto.
+       (place_field): Ditto.
+       * doc/extend.texi (<#pragma pack>, <Type Attributes>): Document
+       this behaviour.
+
+2006-02-15  Paolo Bonzini  <bonzini@gnu.org>
+
+       * cfg.c (dump_flow_info): Get dump flags as an additional parameter.
+       (debug_flow_info): Pass it.
+       * alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info.
+       * bb-reorder.c (reorder_basic_blocks): Likewise.
+       * cfgcleanup.c (rest_of_handle_jump2): Likewise.
+       * cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise.
+       * flow.c (life_analysis, recompute_reg_usage): Likewise.
+       * gcse.c (gcse_main, bypass_jumps): Likewise.
+       * ifcvt.c (rest_of_handle_if_conversion): Likewise.
+       * local-alloc.c (rest_of_handle_local_alloc): Likewise.
+       * loop-init.c (rtl_loop_init, rtl_loop_done): Likewise.
+       * profile.c (compute_branch_probabilities, branch_prob): Likewise.
+       * rtl.h (dump_flow_info): Adjust prototype.
+       * tracer.c (rest_of_handle_tracer, tracer): Likewise.
+       * var-tracking.c (variable_tracking_main): Likewise.
+       * passes.c (execute_todo): Obey TDF_BLOCKS for RTL.
+       * tree-dump.c (enable_rtl_dump_file): Enable the details and blocks
+       options.
+
+2006-02-15  Marcin Dalecki <martin@dalecki.de>
+
+       * tree-ssa-dom.c (dom_thread_across_edge): fix tag expression
+       construction.
+
+2006-02-14  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR tree-optimization/26209
+       * tree-ssa-loop.c (pass_scev_cprop): Add TODO_cleanup_cfg.
+       * tree-cfgcleanup.c (cleanup_control_flow): Remove dead
+       eh edges.
+       * tree-cfg.c (replace_uses_by): Do not alter cfg.
+
+2006-02-14  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/23670
+       * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Optimize (X&Y)|Y into
+       (X,Y) and the corresponding symmetry related transformations.
+       (fold_binary) <BIT_AND_EXPR>: Likewise, optimize (X|Y)&Y into
+       (X,Y) and its symmetry related transformations.
+
+2006-02-14  Roger Sayle  <roger@eyesopen.com>
+
+       * dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU
+       and GEU.
+
+2006-02-14  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE.
+
+2006-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       PR bootstrap/26053
+       * configure.ac (HAVE_COMDAT_GROUP): Don't assume non-GNU linkers
+       support COMDAT group.
+       * configure: Regenerate.
+
+2006-02-14  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/26279
+       PR middle-end/26280
+       PR middle-end/26283
+       * dojump.c (do_compare_rtx_and_jump): Handle multi-word LE.
+
+2006-02-14  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/26260
+
+       * doc/invoke.texi (max-fields-for-field-sensitive): Document
+       param.
+       * params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New.
+       * params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto.
+       * tree-ssa-structalias.c (create_variable_info_for): Use
+       MAX_FIELDS_FOR_FIELD_SENSITIVE.
+       
+2006-02-14  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl):
+       Document.
+       * tree-ssa-loop-niter.c (number_of_iterations_ne,
+       number_of_iterations_lt, number_of_iterations_cond): Remember the shape
+       of the ending condition.
+       * tree-ssa-loop-manip.c: Include params.h.
+       (build_if_stmt, can_unroll_loop_p, determine_exit_conditions,
+       tree_unroll_loop): New functions.
+       * tree-pass.h (pass_loop_prefetch): Declare.
+       * loop.c (rest_of_handle_loop_optimize): Test for
+       -fprefetch-loop-arrays-rtl.
+       * tree-scalar-evolution.h (affine_iv): Moved to tree-flow.h.
+       * timevar.def (TV_TREE_PREFETCH): New timevar.
+       * tree-ssa-loop.c (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch,
+       pass_loop_prefetch): New.
+       * tree-cfgcleanup.c: Include tree-scalar-evolution.h.
+       (cleanup_tree_cfg_loop): Call scev_reset.
+       * common.opt (fprefetch-loop-arrays-rtl): Add.
+       * tree-ssa-loop-prefetch.c: New file.
+       * tree-outof-ssa.c (struct value_expr_d): Add expr_vars field.
+       (new_temp_expr_table): Initialize expr_vars.
+       (free_temp_expr_table): Cleanup expr_vars.
+       (check_replaceable, find_replaceable_in_bb): Prevent accumulating
+       expressions from being merged into one.
+       * tree-flow.h (affine_iv): Moved from tree-scalar-evolution.h.
+       (struct tree_niter_desc): Add control, bound and cmp fields.
+       (tree_ssa_prefetch_arrays, can_unroll_loop_p, tree_unroll_loop):
+       Declare.
+       * Makefile.in (tree-ssa-loop-prefetch.o): Add.
+       (tree-cfgcleanup.o): Add SCEV_H dependency.
+       (tree-ssa-loop-manip.o): Add PARAMS_H dependency.
+       * passes.c (init_optimization_passes): Add pass_loop_prefetch.
+
+2006-02-14  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/26258
+       * tree-ssa-structalias.c (find_func_aliases): Handle aggregates
+       in PHI argument processing.
+
+2006-02-13  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: Return
+       new expression in the requested machine mode.
+
+2006-02-13  Roger Sayle  <roger@eyesopen.com>
+
+       * optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx
+       directly, instead let do_compare_rtx_and_jump handle this for us.
+       * expr.c (expand_expr_real_1): Likewise.
+       * dojump.c (do_jump_by_parts_greater_rtx): Make static.  Move
+       before do_jump_by_parts_greater.
+       (do_jump_by_parts_greater): Move after do_jump_by_parts_greater_rtx.
+       * expr.h (do_jump_by_parts_greater_rtx): Delete prototype.
+
+2006-02-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa/quadlib.c: Use defines instead of enum qfcmp_magic.
+
+2006-02-13  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR rtl-optimization/26235
+       * loop-invariant.c (hash_invariant_expr_1): Handle 'i' and 'n' formats.
+       (invariant_expr_equal_p): Handle 'i' and 'n' formats.  Fail on unknown
+       format.
+
+2006-02-13  Jeff Law  <law@redhat.com>
+
+       * tree-vrp.c (extract_range_from_binary_expr): Remove handling of
+       TRUTH_XOR_EPR.
+
+2006-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/26092
+       * gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl
+       twice if decl is a builtin.  When trying again, call get_callee_fndecl
+       first to verify it is still a builtin.
+
+2006-02-13  Geoffrey Keating  <geoffk@apple.com>
+
+       * dwarf2out.c (base_type_die): Don't add AT_name here.
+       (subrange_type_die): Don't add AT_name here.
+       (modified_type_die): Rearrange code flow.  Do add AT_name here.
+
+2006-02-13  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR rtl-optimization/26247
+       PR rtl-optimization/26248
+       * loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode.
+
+2006-02-13  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113.
+       * config/fixtfdi.c: Likewise.
+       * config/fixunstfdi.c: Likewise.
+       * config/floatditf.c: Likewise.
+
+2006-02-13  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/24427
+       * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2
+       into (X,C2) if C1 is a subset of the bits of C2.  Transform
+       (X&C1)|C2 into X|C2 if C1|C2 == ~0.  Canonicalize (X&C1)|C2 as
+       (X&(C1&~C2))|C2.
+       <BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2).
+
+2006-02-13  Josh Conner  <jconner@apple.com>
+
+       PR target/25376
+       * varasm.c (function_section): Check for section name before
+       calling select_section on targets that define
+       USE_SELECT_SECTION_FOR_FUNCTIONS.  On other targets, use
+       unlikely_text_section instead of hot_function_section if
+       first_function_block_is_cold.
+
+2006-02-13  J"orn Rennecke <joern.rennecke@st.com>
+
+       PR middle-end/25335
+       * reload1.c (gen_reload): Also use find_replacement in UNARY_P case.
+
+2006-02-12  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR rtl-optimization/26222
+       * function.c (assign_stack_temp_for_type): Do not reuse stack slots
+       after tree->rtl expansion.
+       * loop-invariant.c (move_invariant_reg): Use force_operand on rhs
+       before passing it to emit_move_insn.
+
+2006-02-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * doc/invoke.texi (-Write-strings): Document that it is enabled by
+       default. 
+       * c.opt (-Wwrite-strings): Declare variable warn_write_strings.
+       Clarify documentation.
+       * c-common.h (warn_write_strings): Remove.
+       * c-common.c (warn_write_strings): Likewise.
+       * c-opts.c (c_common_init_options): Enable -Wwrite-strings by
+       default for C++.
+
+2006-02-12  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/25724
+       * dojump.c (do_jump): Call do_compare_rtx_and_jump.
+       (do_jump_parts_zero_rtx): New function renamed from
+       do_jump_parts_equality_rtx.  Made static.  Add a mode argument.
+       (do_jump_parts_equality_rtx): New function split out from
+       do_jump_parts_equality.  Old implementation renamed as above.
+       Call do_jump_parts_zero_rtx if either operand is zero.
+       (do_jump_parts_equality): Call do_jump_parts_equality_rtx to
+       do all of the heavy lifting.
+       (do_compare_rtx_and_jump): Handle multi-word comparisons by
+       calling either do_jump_by_parts_greater_rtx or
+       do_jump_by_parts_equality_rtx.
+       * expr.h (do_jump_by_parts_equality_rtx): Remove prototype.
+       * expmed.c (do_cmp_and_jump): Now multi-word optimization has
+       moved to do_compare_rtx_and_jump, call it directly.
+       * stmt.c (do_jump_if_equal): Remove static prototype.  Add a
+       mode argument.  Call do_compare_rtx_and_jump.
+       (emit_case_nodes): Update calls to do_jump_if_equal.
+
+2006-02-12  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR rtl-optimization/26225
+       * loop-invariant.c (may_assign_reg_p): Do not allow BLKmode operands.
+
+2006-02-12  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR rtl-optimization/26232
+       * loop-invariant.c (find_invariant_insn): Ignore insns that set CC0.
+
+2006-02-11  Jason Merrill  <jason@redhat.com>
+
+       PR tree-opt/24365
+       * tree-inline.c (declare_return_variable): Just don't use the
+       modify target if it's a gimple complex reg and the return slot
+       isn't.
+
+2006-02-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * doc/contrib.texi: Update my entry.
+
+2006-02-10  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/i386/darwin.h (DBX_REGISTER_NUMBER): Define.
+
+2006-02-10  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-inline.c (estimate_num_insns_1): Make OpenMP directives
+       expensive.
+
+2006-02-10  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * doc/invoke.texi (-floop-optimize2): Removed.
+       * toplev.c (process_options): Remove handling of flag_loop_optimize2.
+       * loop-init.c (gate_handle_loop2): Do not test flag_loop_optimize2.
+       Test flag_branch_on_count_reg only if HAVE_doloop_end.
+       * common.opt (floop-optimize2): Removed.
+       (fmove-loop-invariants): Enabled by default.
+
+2006-02-10  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-if-conv.c (combine_blocks): Free the result of
+       get_loop_exit_edges.
+
+2006-02-10  Jeff Law  <law@redhat.com>
+
+       * fold-const.c (tree_expr_nonzero_p): Fix thinko.
+
+       PR tree-optimization/26213
+       * tree-ssa-threadedge.c (simplify_control_stmt_condition): Do not
+       loop trying to follow SSA_NAME_VALUE chains.
+
+2006-02-10  Richard Guenther  <rguenther@suse.de>
+
+       * tree-dfa.c (get_ref_base_and_extent): When computing maxsize
+       deal with structures that end in implicitly variable sized arrays.
+
+2006-02-09  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR rtl-optimization/24762
+       * df-scan.c (df_bb_refs_record): Record correct registers defined on
+       eh edges.
+
+2006-02-09  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed.
+       (struct ivopts_data): Add regs_used field.
+       (tree_ssa_iv_optimize_init): Do not allocate aux fields for loops.
+       (ivopts_global_cost_for_size, determine_set_costs): Use data->regs_used
+       instead of loop_data->regs_used;
+       (free_loop_data): Do not free aux fields for loops.
+       (tree_ssa_iv_optimize): Do not pass loops to tree_ssa_iv_optimize_init
+       and tree_ssa_iv_optimize_finalize.
+
+2006-02-09  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE.
+
+2006-02-09  J"orn Rennecke <joern.rennecke@st.com>
+
+       PR target/26141
+       * sh.c (sh_gimplify_va_arg_expr): Don't change the result type when
+       computing the effective result type.
+
+2006-02-09  J"orn Rennecke <joern.rennecke@st.com>
+
+       PR inline-asm/16194
+       * tree.h (decl_overlaps_hard_reg_set_p) Don't declare.
+       (tree_overlaps_hard_reg_set): Declare.
+       * stmt.c (decl_overlaps_hard_reg_set_p): Now static.  Change return
+       type and signature to match function type expected by walk_tree.
+       (tree_overlaps_hard_reg_set): New function.
+       (decl_conflicts_with_clobbers_p): Rename to:
+       (tree_conflicts_with_clobbers_p).  Take HARD_REG_SET * argument.
+       Use tree_overlaps_hard_reg_set.  Changed caller.
+       * doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace
+       decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set.
+       * cris.c (cris_md_asm_clobbers): Likewise.
+
+2006-02-09  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * reload1.c (emit_input_reload_insns): Delete code that tries to
+       inherit using find_equiv_reg.
+
+2006-02-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * c-common.h (flag_const_strings): Don't declare.
+       * c-common.c (flag_const_strings): Remove.
+       * c.opt (fconst_strings): Remove.
+       * c-opts.c (c_common_handle_option): Remove <OPT_fconst_strings>.
+       <OPT_Wwrite_strings>: Don't set flag_const_strings.
+       (c_common_init_options): Don't set flag_const_strings.
+       * doc/invoke.texi (-fno-const-strings): Remove documentation.
+
+2006-02-09  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       * arm.md (tlobits_cbranch): New pattern.
+       * arm.h (arm_select_cc_mode): For thumb, only return CC_Nmode if
+       testing a single bit.
+
+2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/26179
+       * tree-ssa-pre.c (create_component_ref_by_pieces):
+       Handle RETURN_DECL like VAR_DECL.
+
+2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/26134
+       * fold-const.c (fold_indirect_ref_1): Fold 
+       "*(foo *)&complexfoo" to "__real__ complexfoo"
+       and "((foo*)&complexfoo)[1]" to "__imag__ complexfoo".
+
+2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * tree-flow-inline.h (var_can_have_subvars): 
+       Volatile variables should not have subvariables.
+
+2006-02-09  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 26180
+       * tree-vrp.c (vrp_int_const_binop): Detect overflow when
+       multiplying unsigned values.
+       Tidy comments.
+
+2006-02-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (tls_call_delay): Fix oversight.
+
+2006-02-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/25979
+       * tree.def: Elaborate on difference from MODIFY_EXPR.
+       * doc/c-tree.texi (INIT_EXPR): Likewise.
+       * gimplify.c (internal_get_tmp_var): Use INIT_EXPR.
+       (gimplify_decl_expr, gimplify_init_ctor_eval): Likewise.
+       (gimplify_target_expr): Likewise.
+       (gimplify_cond_expr): Remove target handling.
+       (gimplify_modify_expr): Don't clobber INIT_EXPR code here.
+       (gimplify_expr): Clobber it here.
+       (gimplify_modify_expr_rhs): Push assignment into COND_EXPR here.
+       Do return slot optimization if we have an INIT_EXPR.
+
+       PR tree-opt/24365
+       * tree-inline.c (declare_return_variable): Also clear 
+       DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case.
+
+       PR c++/16405
+       * gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling.
+
+       PR middle-end/22439
+       * gimplify.c (gimplify_one_sizepos): Fix typo.
+
+2006-02-08  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/21417
+       * tree-ssa-threadedge.c (thread_across_edge): Reject threading
+       across a backedge if the control statement at the end of the
+       block is data dependent on other statements in the same block.
+       (record_temporary_equivalences_from_stmts): Remove over-conservative
+       test for threading across backedges.
+
+       * tree-ssa-dce.c (remove_dead_statement): When removing a dead
+       control statement, handle all three special cases in the same
+       manner as they all have the same desired solution.  No longer
+       special case edge flag updating when the post dominator is
+       the exit block.
+
+2006-02-08  Roger Sayle  <roger@eyesopen.com>
+
+       * tree.def (CHAR_TYPE): Remove.
+       * dbxout.c (dbxout_type): Delete dead handling of CHAR_TYPE.
+       * dwarf2out.c (base_type_die, is_base_type): Likewise.
+       (gen_type_die) <ARRAY_TYPE>: Remove handling of CHAR_TYPE arrays.
+       (gen_string_type_die): Delete unreachable function.
+
+       * tree-pretty-print.c (dump_generic_node): Don't handle CHAR_TYPE.
+       * tree.c (build_int_cst_wide, type_contains_placeholder_1,
+       type_hash_eq, variably_modified_type_p, walk_type_fields): Likewise.
+       * tree.h (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Likewise.
+       * builtins.c (type_to_class): Likewise.
+       * fold-const.c (fold_convert, build_range_check,
+       merge_ranges): Likewise.
+       * expr.c (count_type_elements): Likewise.
+       * c-pretty-print.c (pp_c_type_specifier): Likewise.
+       * stor-layout.c (layout_type): Likewise.
+       * ipa-type-escape.c (type_to_consider): Likewise.
+       * gimplify.c (omp_firstprivatize_type_sizes,
+       gimplify_type_sizes): Likewise.
+       * explow.c (promote_mode): Likewise.
+       * tree-sra.c (is_sra_scalar_type): Likewise.
+       * varasm.c (output_constant): Likewise.
+       * tree-inline.c (remap_type_1): Likewise.
+       * convert.c (convert_to_pointer, convert_to_real,
+       convert_to_integer, convert_to_complex): Likewise.
+
 2006-02-08  Daniel Berlin  <dberlin@dberlin.org>
 
        * df-scan.c (df_def_record_1): A set destination may
        * basic-block.h: Remove the prototype for
        partition_hot_cold_basic_blocks.
 
-2006-01-16  Rafael Ãvila de Espíndola <rafael.espindola@gmail.com>
+2006-01-16  Rafael Ãvila de Espíndola <rafael.espindola@gmail.com>
 
        * cppspec.c (lang_specific_spec_functions): Remove.
        * gcc.c (lookup_spec_function): Use static_spec_functions directly.