+2005-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.
+
+2005-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.
* 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.