+2006-10-06 Olivier Hainque <hainque@adacore.com>
+
+ * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]:
+ Don't recurse on the pointed-to type.
+ * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or
+ DECL context, attach an artificial TYPE_DECL to anonymous pointed-to
+ types with components of variable size.
+
+2006-10-06 Danny Smith <dannysmith@users.sourceforge.net>
+
+ config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
+
+2006-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/29290
+ * tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has
+ multiple exits.
+
+ PR target/29198
+ * config/i386/i386.c (legitimize_pic_address): Reject TLS symbols.
+ * config/i386/predicates.md (local_symbolic_operand): Likewise.
+
+ PR c/29091
+ * varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than
+ the number of vector elements fill the rest with zeros.
+
+2006-10-05 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips.c (mips_pass_by_reference): Do not return false
+ for EABI if type is NULL. Use a size check based on GET_MODE_SIZE
+ instead.
+
+2006-10-05 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.md (subsi3): Lose expander, change previously
+ unnamed pattern into subsi3. Use correct constraints/predicates.
+ * config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7".
+ * config/bfin/predicates.md (reg_or_neg7bit_operand_p): New.
+
+2006-10-05 Ira Rosen <irar@il.ibm.com>
+
+ * doc/loop.texi: Add data references analysis description.
+
+2006-10-04 Brooks Moses <bmoses@stanford.edu>
+
+ * doc/gcov.texi: Add formatting to "Invoking gcov" section head.
+
+2006-10-04 Richard Henderson <rth@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
+ * builtin-types.def (BT_WORD): Make unsigned.
+ (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
+ * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
+ (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
+ * c-decl.c (grokdeclarator): Don't error if !have_tls.
+ * c-parser.c (c_parser_omp_threadprivate): Likewise.
+ * cgraph.c (decide_is_variable_needed): Look at force_output.
+ Recurse for emulated tls.
+ * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
+ checks redundant with decide_is_variable_needed.
+ (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
+ * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
+ emulated tls.
+ * expr.c (emutls_var_address): New.
+ (expand_expr_real_1): Expand emulated tls.
+ (expand_expr_addr_expr_1): Likewise.
+ * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
+ * output.h (emutls_finish): Declare.
+ * toplev.c (compile_file): Call it.
+ * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
+ address before wrapping in CONST.
+ * varasm.c (emutls_htab, emutls_object_type): New.
+ (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
+ (get_emutls_object_name, get_emutls_object_type): New.
+ (get_emutls_init_templ_addr, emutls_decl): New.
+ (emutls_common_1, emutls_finish): New.
+ (assemble_variable): When emulating tls, swap decls; generate
+ constructor for the emutls objects.
+ (do_assemble_alias): When emulating tls, swap decl and target name.
+ (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
+ for emulated tls.
+ * emutls.c: New file.
+ * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
+ tls_object for real tls.
+
+2006-10-04 Zack Weinberg <zackw@panix.com>
+
+ Fix bug in constraint-check generator, reported by Rask Ingemann
+ Lambertsen:
+ * genpreds.c (add_constraint): Don't remove anything from the
+ expression here.
+ (write_tm_constrs_h): Detect whether "op" argument is used, and
+ mark it ARG_UNUSED if it isn't.
+ (write_insn_const_int_ok_for_constraint): Skip the part of the
+ expression that would test whether "op" (which is not available
+ here) is a CONST_INT.
+
+2006-10-04 Ryan Mansfield <rmansfield@qnx.com>
+
+ PR c++/28448
+ * doc/invoke.texi (fdiagnostics-show-option): Fix typos.
+
+2006-10-03 Geoffrey Keating <geoffk@apple.com>
+
+ * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
+ current Leopard versions.
+ * config/rs6000/darwin-libgcc.10.5.ver: Likewise.
+
+2006-10-03 Kazu Hirata <kazu@codesourcery.com>
+
+ * doc/install.texi: Fix typos.
+
+2006-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
+ * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX.
+ * config/sparc/sparc.h (FRAME_ADDR_RTX): Define.
+
+2006-10-02 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first
+ arg to be struct mach_header_64* instead.
+
+2006-10-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/29154
+ * gimplify.c (gimplify_self_mod_expr): Run inner expression's post
+ side effects after the outer expression's post side effects.
+
+2006-10-01 Sandra Loosemore <sandra@codesourcery.com>
+
+ * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix
+ comments to reflect actual behavior and relationship between
+ DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
+
+ * doc/c-tree.texi (Working with declarations): Fix documentation
+ of FIELD_DECL likewise.
+
+2006-10-01 Ryan Mansfield <rmansfield@qnx.com>
+
+ PR c/20533
+ * doc/extend.texi: Add used variable attribute description.
+
+2006-09-30 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/24010
+ * c.opt (Woverride-init): New.
+ * c-opts.c (c_common_post_options): Default warn_override_init to
+ extra_warnings.
+ * c-typeck.c (add_pending_init, output_init_element): Warn for
+ overriding initializers without side effects.
+ * doc/invoke.texi (-Woverride-init): Document.
+ (-Wextra): Update.
+
+2006-09-30 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR rtl-optimization/28096
+ * ifcvt.c (check_cond_move_block): Return FALSE if the source of an
+ assignment has already been used as a destination earlier in the block.
+
+2006-09-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * builtins.c (expand_builtin_setjmp): Delete.
+ (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
+ <BUILT_IN_SETJMP_SETUP>: New case.
+ <BUILT_IN_SETJMP_DISPATCHER>: Likewise.
+ <BUILT_IN_SETJMP_RECEIVER>: Likewise.
+ * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
+ (BUILT_IN_SETJMP_DISPATCHER): Likewise.
+ (BUILT_IN_SETJMP_RECEIVER): Likewise.
+ * gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
+ (lower_function_body): Initialize it to false. If it is set to true
+ at the end of the processing, emit the setjmp dispatcher.
+ (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
+ is __builtin_setjmp and set calls_builtin_setjmp to true as well.
+ <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
+ on the rhs of the assignment.
+ (lower_builtin_setjmp): New function.
+ * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
+ BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
+ * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
+ to detect calls that can go to non-local labels. Use specific
+ helper to create the abnormal edges associated with them.
+ <MODIFY_EXPR>: Likewise.
+ (make_abnormal_goto_edges): New function extracted from...
+ (make_goto_expr_edges): ...here. Call it for computed gotos.
+ (simple_goto_p): Minor tweak.
+ (tree_can_make_abnormal_goto): New predicate.
+ (tree_redirect_edge_and_branch): Return zero on all abnormal edges.
+ (tree_purge_dead_abnormal_call_edges): New function.
+ * tree-flow.h (tree_can_make_abnormal_goto): Declare.
+ (tree_purge_dead_abnormal_call_edges): Likewise.
+ (make_abnormal_goto_edges): Likewise.
+ * tree-inline.c (expand_call_inline): Simplify statement frobbing.
+ Purge all dead abnormal edges if the call was in the last statement.
+ * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
+ (execute_fixup_cfg): If there are non-local labels in the function,
+ scan the basic blocks and split them at calls that can go to non-local
+ labels or add missing abnormal call edges. Write down the CFG in the
+ dump file.
+ (pass_fixup_cfg): Remove TODO_dump_func flag.
+ * unwind-sjlj.c: Poison setjmp.
+ * doc/install.texi (enable-sjlj-exceptions): Use more general wording.
+ * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
+ (TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
+ (DONT_USE_BUILTIN_SETJMP): Document it.
+
+2006-09-28 Geoffrey Keating <geoffk@apple.com>
+
+ PR target/28617
+ * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
+ to 1 when __ppc64__ is defined.
+ * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
+ darwin-64.c.
+ * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
+
+2006-09-28 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
+ * config/ia64/unwind-hpux.c: Delete.
+
+2006-09-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
+ on the element before gimplifying it, instead of punting if it is of
+ variable size.
+
+2006-09-28 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * doc/loop.texi: New file.
+ * doc/gccint.texi: Reference loop.texi.
+ * Makefile.in (loop.texi): Add.
+
+2006-09-27 Geoffrey Keating <geoffk@apple.com>
+
+ * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
+ __sysctl.
+ * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
+ * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
+
+2006-09-28 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.md (divsi_inv_m0): Remove unused variable.
+
+2006-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * doc/install.texi: Document required versions of GMP and MPFR.
+
+2006-09-27 Paul Brook <paul@codesourcery.com>
+
+ PR target/29230
+ * config/arm/arm.md (arith_adjacentmem): Handle large offsets.
+
+2006-09-27 Richard Sandiford <richard@codesourcery.com>
+
+ * reload1.c (alter_reg): Require the alignment of the stack slot to
+ be at least reg_max_ref_width bytes.
+ (scan_paradoxical_subregs): Record the largest width in
+ reg_max_ref_width.
+
+2006-09-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/25261
+ PR middle-end/28790
+ * tree-nested.c (struct nesting_info): Added static_chain_added.
+ (convert_call_expr): Set static_chain_added when adding static
+ chain. Handle OMP_PARALLEL and OMP_SECTION.
+
+2006-09-25 Matthias Klose <doko@debian.org>
+
+ * doc/invoke.texi: Add missing full stop.
+
+2006-09-25 Richard Henderson <rth@redhat.com>
+
+ * cgraph.c (dump_cgraph_varpool_node): Don't crash if called
+ before cgraph_function_flags_ready.
+
+2006-09-24 Zdenek Dvorak <dvorakz@suse.cz>
+ Adam Nemet <anemet@caviumnetworks.com>
+
+ * tree-ssa-loop-ivopts.c (aff_combination_convert,
+ determine_common_wider_type): New functions.
+ (get_computation_aff): Use them to simplify arithmetic between
+ UBASE and CBASE if they are shortened from the same type.
+
+2006-09-24 Kazu Hirata <kazu@codesourcery.com>
+
+ PR target/28911
+ * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
+ -2147483647 - 1 instead of 0x80000000.
+
+2006-09-23 Revital1 Eres <ERES@il.ibm.com>
+
+ * flags.h (HONOR_NANS): Fix typo in comment.
+
+2006-09-23 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
+
+2006-09-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/28706
+ PR c/28712
+ * tree.c (merge_attributes, attribute_list_contained): If both
+ TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
+ simple_cst_equal.
+ * c-typeck.c (comptypes_internal): Don't consider aggregates
+ in different TUs as compatible if there one set of attributes is
+ not a subset of the other type's attributes.
+ (composite_type): Try harder not to create a new aggregate type.
+
+2006-09-22 Geoffrey Keating <geoffk@apple.com>
+
+ * config/i386/driver-i386.c: Always define host_detect_local_cpu.
+ * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
+ or x86_64 host. Define HAVE_LOCAL_CPU_DETECT.
+ (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
+ than replicating condition above.
+ * config.host (i[34567]86-*-*): Always use driver-i386.o.
+
+ * config/darwin.h (LINK_SYSROOT_SPEC): New.
+ (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
+ the linker by default.
+
+2006-09-22 Mike Stump <mrs@apple.com>
+
+ * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
+ code.
+
+2006-09-22 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/28964
+ * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
+ sort of stack variables stable.
+
+2006-09-22 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR middle-end/28690
+ * explow.c (force_reg): Set REG_POINTER flag according to
+ MEM_POINTER flag.
+
+2006-09-22 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/28888
+ * tree-if-conv.c (combine_blocks): Rewritten.
+ * tree-cfg.c (tree_verify_flow_info): Check that edges with
+ EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
+
+2006-09-22 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
+ needed.
+
+2006-09-21 Richard Sandiford <richard@codesourcery.com>
+
+ * varasm.c (copy_constant): Fix reversed gcc_assert check.
+
+2006-09-21 Janis Johnson <janis187@us.ibm.com>
+
+ * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
+
+2006-09-21 Roger Sayle <roger@eyesopen.com>
+
+ PR debug/29132
+ * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
+ dw_fde_current_label, to be the start of the function, i.e. the same
+ value as dw_fde_begin.
+
+2006-09-20 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
+ * config/mips/mips.md (UNSPEC_ABS_PS): New constant.
+ (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
+ (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
+ (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
+ (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
+ (abs<mode>2, neg<mode>2): Likewise.
+ * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
+ (*mips_abs_ps): New define_insn.
+
+2006-09-20 Josh Conner <jconner@apple.com>
+
+ PR middle-end/25505
+ * calls.c (expand_call): Allow reuse of structure return stack
+ temp.
+
+2006-09-20 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
+ positive offsets.
+
+2006-09-20 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/extend.texi (Decimal Float): Update for latest draft TR,
+ clean up terminology.
+
+2006-09-20 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/28574
+ * ifcvt.c (dead_or_predicable): Don't predicate then blocks
+ with tablejumps in them.
+
+2006-09-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/28046
+ * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
+ wrap it into TARGET_EXPR.
+
+2006-09-20 Eric Christopher <echristo@apple.com>
+
+ * config/i386/i386.c (x86_fisttp): Remove.
+ * config/i386/i386.h (x86_fisttp): Ditto.
+ (TARGET_FISTTP): Ditto.
+
+2006-09-19 Eric Christopher <echristo@apple.com>
+
+ * doc/tm.texi (OBJC_JBLEN): Describe.
+ * config/i386/darwin.h (OBJC_JBLEN): Define.
+ * config/rs6000/darwin.h: Ditto.
+
+2006-09-19 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/21299
+ * reload1.c (reload): Purge invalid ASMs in the final pass.
+
+2006-09-19 Steve Ellcey <sje@cup.hp.com>
+
+ PR 28490
+ * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
+ pointers as legitimate constants.
+
+2006-09-19 Paul Brook <paul@codesourcery.com>
+
+ PR target/28516
+ * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
+
+2006-09-17 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/28887
+ * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
+ component parts from the reference.
+ (gather_memory_references_ref): Record the reference without the
+ nonaddressable component parts.
+
+2006-09-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR c/25993
+ * c-opts.c (c_common_handle_option): Ignore the -std options
+ if the input language is assembly.
+
+2006-09-17 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-opt/21591
+ * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
+ tag first.
+ (ptr_ptr_may_alias_p): Likewise.
+ (record_record_differ_p): New function.
+ (base_object_differ_p): Call record_record_differ_p.
+
+2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/29059
+ * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
+ away for the expr argument.
+
+2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR tree-opt/27742
+ * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
+ before using it for dumping after vectorizing loops.
+
+2006-09-16 Andrew Pinski <pinskia@physics.uc.edu>
+ Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR target/29030
+ * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
+ skip on error_mark_node.
+ (rs6000_darwin64_record_arg_recurse): Likewise.
+
+2006-09-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
+ * doc/rtl.texi: Remove related documentation.
+
+2006-09-16 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
+ printf.
+
+2006-09-15 Jim Wilson <wilson@specifix.com>
+
+ * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
+ Handle symbol offsets same as they are handled in ia64_expand_move
+ and move_operand.
+
+2006-09-16 Andreas Tobler <a.tobler@schweiz.org>
+
+ * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
+ Add forgotten parameter to the fprintf call.
+
+2006-09-15 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
+
+2006-09-15 Uros Bizjak <uros@kss-loka.si>
+
+ * doc/contrib.texi: Add my entry.
+
+2006-09-15 Nick Clifton <nickc@redhat.com>
+
+ * doc/md.texi (Processor pipeline description): Fix typo in
+ example of how to use the absence_set directive and reword the
+ description to make it slightly easier to read.
+
+2006-09-15 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
+ * loop-doloop.c (doloop_optimize): Use it to limit costs of
+ expanding the number of iterations.
+ * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
+
+ * cfgrtl.c (emit_insn_at_entry): New function.
+ * rtl.h (emit_insn_at_entry): Declare it.
+ * integrate.c (emit_initial_value_sets): Use it.
+
+ * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
+
+ * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
+ bad.
+ (struct loop_work and related VEC declarations): Delete.
+ (bfin_dump_loops): Print out new member bad.
+ (bfin_bb_in_loop): Use plain bitmap test. Don't recurse.
+ (bfin_scan_loop): Don't recurse.
+ (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
+ loops. No longer need to update outer loops if the current one is
+ found bad. Move some validitiy checks to bfin_discover_loop.
+ (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
+ but changed not to check for nesting. Also changed to use the new bad
+ flag.
+ (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
+ time. Use bitmap based test to discover loop nesting.
+
+2006-09-15 Kazu Hirata <kazu@codesourcery.com>
+
+ * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
+ one line.
+
+2006-09-14 Richard Guenther <rguenther@suse.de>
+ Kazu Hirata <kazu@codesourcery.com>
+
+ PR middle-end/28884.
+ * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
+ (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
+ Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
+ with TARGET_FUNCTION_VALUE.
+
+2006-09-14 Anatoly Sokolov <aesok@post.ru>
+
+ PR target/26504
+ * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
+
+2006-09-13 Aldy Hernandez <aldyh@redhat.com>
+
+ * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
+ of a RETURN_EXPR
+
+2006-09-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR debug/28980
+ * dwarf2out.c (loc_descriptor_from_tree_1): Handle
+ FUNCTION_DECL.
+
+2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * basic_block.h (bb_has_eh_pred): Fix comment.
+
+2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * flow.c (calculate_global_regs_live): Invalidate eh registers
+ on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
+ (propagate_block): Handle eh registers as if they were set at basic
+ block start.
+ * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
+ registers.
+ * global.c (global_conflicts): Make eh registers to conflict with
+ pseudos live at basic block begin.
+ * basic_block.h (bb_has_eh_pred): New function.
+
+2006-09-13 Richard Sandiford <richard@codesourcery.com>
+
+ PR rtl-optimization/28982
+ * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
+ index of a PRE_MODIFY or POST_MODIFY address.
+ * reload1.c (inc_for_reload): Use find_replacement on the original
+ base and index registers.
+
+2006-09-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
+ for -Os. Update __m128 alignment requirement.
+
+2006-09-13 Jan Hubicka <jh@suse.cz>
+
+ * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
+
+2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR rtl-optimization/28243
+ * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
+ the insn to which the note was originally attached.
+
+2006-09-12 Andrew Pinski <pinskia@physics.uc.edu>
+ Roger Sayle <roger@eyesopen.com>
+
+ * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
+ outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
+ on platforms that don't use dwarf for debug info.
+
+2006-09-12 Jason Merrill <jason@redhat.com>
+
+ PR middle-end/28493
+ * builtins.c (expand_builtin_setjmp_receiver): Clobber
+ hard_frame_pointer_rtx after using it to update the frame pointer.
+
+2006-09-12 Roger Sayle <roger@eyesopen.com>
+
+ * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
+ (TARGET_ASM_CLOSE_PAREN): Likewise.
+ * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
+ (TARGET_ASM_CLOSE_PAREN): Likewise.
+
+2006-09-12 Roger Sayle <roger@eyesopen.com>
+
+ PR target/22223
+ * config/alpha/alpha.c (alpha_start_function): Don't emit stack
+ frame information for frames larger than 512 Kbytes on Tru64 when
+ using the native assembler.
+
+2006-09-12 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/4520
+ PR bootstrap/28784
+ * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
+ and symbols. Instead use the implementation from cse.c's hash_rtx.
+
+2006-09-12 Jan Hubicka <jh@suse.cz>
+
+ PR rtl-optimization/28071
+ * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
+ (vect_transform_loop): Likewise.
+ * tree-vectorizer.c (new_loop_vec_info): Likewise.
+ (new_loop_vec_info): Likewise.
+ (destroy_loop_vec_info): Likewise.
+ * tree-dfa.c (create_var_ann): Use GCC_CNEW.
+ (create_stmt_ann): Likewise.
+ (create_tree_ann): Rename to ...
+ (create_tree_common_ann): ... this one; allocate only the common part
+ of annotations.
+ * tree-vn.c (set_value_handle): Use get_tree_common_ann.
+ (get_value_handle): Likewise.
+ * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
+ get_tree_common_ann.
+ * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
+ (vinfo_for_stmt): Use stmt annotations.
+ * tree-flow.h (tree_ann_common_t): New type.
+ (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
+ (tree_ann, get_tree_ann, create_tree_ann): New.
+ * tree-flow-inline.h (get_function_ann): Do more type checking.
+ (stmt_ann): Likewise.
+ (tree_ann): Rename to ...
+ (tree_common_ann): ... this one; return ony common_ann
+ (get_tree_ann): Rename to ...
+ (tree_common_ann): This one; return only common_ann.
+ * tree-vect-patterns.c (vect_pattern_recog_1): Update call
+ of set_stmt_info.
+
+2006-09-11 Geoffrey Keating <geoffk@apple.com>
+
+ * config.gcc (i[34567]86-*-darwin*): Set with_arch and
+ with_cpu by default.
+
+ * dwarf2out.c (dwarf_file_data): New.
+ (enum dw_val_class): Add dw_val_class_file.
+ (struct dw_val_struct): Add val_file.
+ (file_table): Change to a hash table.
+ (file_table_emitted): Delete.
+ (file_table_last_lookup_index): Delete.
+ (emitcount): Delete.
+ (last_emitted_file): New.
+ (lookup_filename): Change prototype to return a struct dwarf_file_data.
+ (init_file_table): Delete.
+ (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
+ (AT_addr): Add comment.
+ (add_AT_file): New.
+ (AT_file): New.
+ (get_AT_file): New.
+ (print_die): Handle dw_val_class_file.
+ (print_dwarf_line_table): Update for new file table structure.
+ (attr_checksum): Do checksum a filename.
+ (same_dw_val_p, same_attr_p): Do compare a filename.
+ (size_of_die): Handle dw_val_class_file.
+ (value_format): Likewise.
+ (output_die): Likewise. Also, call maybe_emit_file here.
+ (struct file_info): Constify filenames. Make file_idx a pointer
+ to a struct dwarf_file_data.
+ (struct dir_info): Constify directory names. Remove 'used' field.
+ (struct file_name_acquire_data): New.
+ (file_name_acquire): New.
+ (output_file_names): Modify to handle new file data structures.
+ (add_src_coords_attributes): Use add_AT_file.
+ (add_call_src_coords_attributes): Likewise.
+ (dwarf2out_imported_module_or_decl): Likewise.
+ (gen_subprogram_die): Modify for new file data structures.
+ (gen_variable_die): Likewise.
+ (file_table_eq): New.
+ (file_table_hash): New.
+ (file_table_last_lookup): New.
+ (lookup_filename): Rewrite to handle new file data structures.
+ (maybe_emit_file): Rewrite to handle new file data structures.
+ (dwarf2out_source_line): Always call lookup_filename and
+ maybe_emit_file.
+ (dwarf2out_init): Create file_table here.
+ (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
+ (file_table_relative_p): New.
+ (dwarf2out_finish): Change detection of relative filenames
+ to work with new file data structures. Move output_line_info call
+ after debug_info output.
+
+2006-09-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/13685
+ PR target/27537
+ PR target/28621
+ * config/i386/i386.c (override_options): Always default to 16
+ byte stack boundary.
+
+2006-09-11 Alexandre Oliva <aoliva@redhat.com>
+
+ PR target/28672
+ * var-tracking.c (dump_dataflow_set): Start dumping at
+ register zero.
+ (clobber_variable_part): Kill only the variable part in
+ registers holding it, leaving other variables alone.
+
+2006-09-11 Josh Triplett <josh@freedesktop.org>
+
+ * doc/extend.texi (Other Builtins): Actually use the macro
+ argument in the documentation example for
+ __builtin_types_compatible_p.
+
+2006-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR rtl-optimization/28726
+ * sched-deps.c (sched_analyze_reg): New function extracted from...
+ (sched_analyze_1): ...here. Call it to analyze references to
+ registers. Treat again writes to a stack register as writing to the
+ register.
+ (sched_analyze_2): ...and here. Call it to analyze references to
+ registers. Treat again reads of a stack register as reading the
+ register.
+
+2006-09-11 Guenter Roeck <guenter@roeck-us.net>
+ David Edelsohn <edelsohn@gnu.org>
+
+ PR target/27287
+ * config/rs6000/spe.md (frob_df_di): Remove %H.
+ (frob_di_df): Remove %H. Change evmergelo to mr.
+ (frob_di_df_2): Remove %H. Change evldd to two loads.
+
+2006-09-11 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp>
+
+ * doc/cpp.texi: Fix names of charset options.
+
+2006-09-10 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/29009
+ * config/i386/i386.c (override_options): Use 128-bit
+ stack boundary always for 64bits.
+
+2006-09-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR rtl-optimization/28636
+ * combine.c (force_to_mode): Test for side-effects before
+ substituting by zero.
+ (simplify_shift_const): Likewise for zero or other constants.
+
+2006-09-10 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/26983
+ * builtins.c (expand_builtin_setjmp): Force next_lab to be
+ preserved.
+
+2006-09-10 Richard Sandiford <richard@codesourcery.com>
+
+ PR target/29006
+ * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
+ * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
+ returned by mode_for_size, rather than the mode of src itself,
+ to choose between 32-bit and 64-bit patterns.
+ (mips_mem_fits_mode_p): New function.
+ * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
+ that the size of the source matches the size of the destination.
+ (mov_<store>l, mov_<store>r): Likewise.
+
+2006-09-10 Eric Christopher <echristo@apple.com>
+
+ * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
+ for literal16.
+
+2006-09-09 Eric Christopher <echristo@apple.com>
+
+ PR target/28995
+ * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
+ for literal16.
+
+2006-09-09 Roger Sayle <roger@eyesopen.com>
+ Nicolas Setton <setton@adacore.com>
+
+ * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
+
+2006-09-10 Andreas Schwab <schwab@suse.de>
+
+ * config/m68k/m68k.md (bungt_rev): New pattern.
+
+2006-09-09 Paolo Bonzini <bonzini@gnu.org>
+ Dale Johannesen <dalej@apple.com>
+
+ PR target/26778
+ * regclass.c (struct reg_pref): Update documentation.
+ (regclass): Set prefclass to NO_REGS if memory is the best option.
+ (record_reg_classes): Cope with a prefclass set to NO_REGS.
+
+2006-09-08 Eric Christopher <echristo@apple.com>
+
+ * config.gcc (i?86-*-darwin): Add 64-bit HWI support.
+ * config/t-slibgcc-darwin: Support x86_64 multilib.
+ * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
+ Return 1 for x86_64-darwin.
+ * config/i386/t-darwin: Add m64 multilib.
+ (LIB2_SIDITI_CONV_FUNCS): Use.
+ (LIB2FUNCS_EXTRA): Ditto.
+ * config/i386/darwin.h: Support x86_64.
+ * config/i386/i386.c (override_options): Turn on flag_pic
+ for x86_64-darwin. Disable flag_omit_pointer.
+ (get_pc_thunk_name): Assert !TARGET_64BIT.
+ (legitimate_address_p): Disable machopic addressing for
+ x86_64.
+ (legitimize_pic_address): Ditto.
+ (ix86_expand_move): Ditto.
+ (ix86_expand_call): Ditto.
+ (machopic_output_stub): Ditto.
+ * config/darwin.c (machopic_select_section): Support literal16.
+ (machopic_select_rtx_section): Ditto.
+ * config/darwin-sections.def: Ditto.
+ * config/darwin-64.c: New.
+
+2006-09-08 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/28504
+ * c-tree.h (struct c_arg_info): Add pending_sizes.
+ * c-parser.c (c_parser_parms_declarator,
+ c_parser_parms_list_declarator): Initialize pending_sizes.
+ * c-decl.c (get_parm_info): Initialize pending_sizes.
+ (get_parm_info): Set pending_sizes.
+ (grokdeclarator): Call put_pending_sizes for parameters for
+ function definition only.
+
+2006-09-07 Jason Merrill <jason@redhat.com>
+
+ PR middle-end/27724
+ * varasm.c (output_constant): Only strip actual no-op conversions.
+
+ PR target/13685
+ * config/i386/i386.c (override_options): Use 128-bit
+ stack boundary if -msse.
+
+2006-09-07 Eric Christopher <echristo@apple.com>
+
+ * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
+ comment.
+ * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
+ Redefine.
+
+2006-09-07 Geoffrey Keating <geoffk@apple.com>
+
+ * dwarf2out.c: Remove strange characters from comment above
+ dwarf2out_frame_debug_expr.
+
+2006-09-07 Eric Christopher <echristo@apple.com>
+
+ * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
+ * config/darwin.h: ... to here.
+
+2006-09-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (x86_partial_flag_reg_stall): New.
+
+ * config/i386/i386.h (x86_partial_flag_reg_stall): New.
+ (TARGET_PARTIAL_FLAG_REG_STALL): New.
+
+ * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
+ TARGET_PARTIAL_FLAG_REG_STALL.
+ (*ashldi3_cconly_rex64): Likewise.
+ (*ashlsi3_cmp): Likewise.
+ (*ashlsi3_cconly): Likewise.
+ (*ashlsi3_cmp_zext): Likewise.
+ (*ashlhi3_cmp): Likewise.
+ (*ashlhi3_cconly): Likewise.
+ (*ashlqi3_cmp): Likewise.
+ (*ashlqi3_cconly): Likewise.
+ (*ashrdi3_cmp_rex64): Likewise.
+ (*ashrdi3_cconly_rex64): Likewise.
+ (*ashrsi3_cmp): Likewise.
+ (*ashrsi3_cconly): Likewise.
+ (*ashrsi3_cmp_zext): Likewise.
+ (*ashrhi3_cmp): Likewise.
+ (*ashrhi3_cconly): Likewise.
+ (*ashrqi3_cmp): Likewise.
+ (*ashrqi3_cconly): Likewise.
+ (*lshrdi3_cmp_rex64): Likewise.
+ (*lshrdi3_cconly_rex64): Likewise.
+ (*lshrsi3_cmp): Likewise.
+ (*lshrsi3_cconly): Likewise.
+ (*lshrsi3_cmp_zext): Likewise.
+ (*lshrhi3_cmp): Likewise.
+ (*lshrhi3_cconly): Likewise.
+ (*lshrqi2_cmp): Likewise.
+ (*lshrqi2_cconly): Likewise.
+
+2006-09-07 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/28946
+ * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
+ "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
+ "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
+ "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
+ "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
+ "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
+ "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
+ "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
+ "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
+ implement only CC setting effects of shift instructions.
+
+2006-09-07 Martin Michlmayr <tbm@cyrius.com>
+
+ * doc/contrib.texi: Add myself.
+
+2006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/28862
+ * stor-layout.c (relayout_decl): Don't zero the alignment if it
+ was set by the user.
+
+2006-09-07 Paolo Bonzini <bonzini@gnu.org>
+
+ PR target/27117
+ * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
+ (divsi_inv_m1): Use them.
+ (UNSPEC_DIV_INV_TABLE): New constant.
+
+2006-09-06 James E Wilson <wilson@specifix.com>
+
+ PR rtl-opt/27883
+ * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
+ then call count_or_remove_death_notes.
+
+2006-09-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/27371
+ * tree-inline.c (copy_result_decl_to_var): New fn.
+ (declare_return_variable): Use it. Call declare_inline_vars here.
+ (expand_call_inline): Not here.
+
+2006-09-06 Diego Novillo <dnovillo@redhat.com>
+
+ * doc/contrib.texi: Update my entry.
+
+2006-09-06 Nick Clifton <nickc@redhat.com>
+
+ * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
+
+2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/28937
+ * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
+ (canonicalize_induction_variables): Likewise.
+ (tree_unroll_loops_completely): Likewise.
+ (tree_ssa_prefetch_arrays): Likewise.
+ (remove_empty_loops): Likewise.
+ * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
+ TODO_cleanup_cfg instead of directly calling
+ cleanup_tree_cfg_loop.
+ * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
+ Likewise.
+ (tree_unroll_loops_completely): Likewise.
+ (remove_empty_loops): Likewise.
+ * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
+ * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
+ of tree_ssa_unswitch_loops.
+ (tree_ssa_loop_ivcanon): Use the return value of
+ canonicalize_induction_variables.
+ (tree_ssa_empty_loop): Use the return value of
+ remove_empty_loops.
+ (tree_complete_unroll): Use the return value of
+ tree_unroll_loops_completely.
+ (tree_ssa_loop_prefetch): Use the return value of
+ tree_ssa_prefetch_arrays.
+ * passes.c (execute_todo): Before Cleanup CFG, set
+ updating_used_alone and after cleanup CFG, call
+ recalculate_used_alone.
+
+2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/28952
+ * tree-vect-transform.c (vectorizable_condition): Move the check
+ for the type after the check for simple condition.
+
+2006-09-05 J"orn Rennecke <joern.rennecke@st.com>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/28764
+ * mode-switching.c (optimize_mode_switching): Make the destination
+ block of an abnormal edge have no anticipatable mode. Don't
+ insert mode switching code at the end of the source block of
+ an abnormal edge.
+
+2006-09-05 Paolo Bonzini <bonzini@gnu.org>
+
+ PR rtl-optimization/26847
+ * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
+ (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
+ (simplify_plus_minus): Count n_constants while filling ops. Replace
+ qsort with insertion sort. Before going through the array to simplify
+ pairs, sort it. Delay early exit until after the first sort, exiting
+ only if no swaps occurred. Simplify pairs in reversed order, without
+ special-casing the first iteration. Pack ops after simplifying pairs.
+
+2006-09-05 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
+ * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
+ * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
+ (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
+
+2006-09-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/28900
+ * tree-if-conv.c (find_phi_replacement_condition): Gimplify
+ compound conditional before creating COND_EXPR condition.
+
+2006-09-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/28905
+ * tree-vrp.c (fix_equivalence_set): Manually implement
+ !value_ranges_intersect_p to also handle symbolic ranges.
+
+2006-09-05 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/28935
+ * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
+ of a COND_EXPR.
+
+2006-09-04 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR rtl-optimization/27616
+ * cse.c (table_size): New static variable.
+ (new_basic_block): Initialize it to 0.
+ (remove_from_table): Decrement it.
+ (insert): Increment it.
+ (fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
+ (fold_rtx_mem): Enforce a cap on the recursion depth. Call
+ fold_rtx_mem_1 if under the cap.
+ (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
+ the lookup of the equivalent expression and test for equality of the
+ first operand of the equivalent expression before in turn looking up
+ an equivalent constant for the second operand.
+
+2006-09-02 Geoffrey Keating <geoffk@apple.com>
+
+ Revert this change:
+ 2006-03-17 Alexandre Oliva <aoliva@redhat.com>
+ * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
+ pointer, instead of assuming it is possible to derive the
+ correct args size from a call insn.
+
+2006-09-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/27567
+ * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
+ (fold_builtin_mempcpy): Rename to...
+ (fold_builtin_memory_op): ... this. Optimize one element copy
+ into an assignment.
+ (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
+ functions.
+ (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
+ (expand_builtin_memcpy, expand_builtin_mempcpy,
+ expand_builtin_memmove): Likewise. Use fold_builtin_memory_op.
+ (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
+ BUILT_IN_BCOPY. Use fold_builtin_memory_op for
+ BUILT_IN_MEM{CPY,PCPY,MOVE}.
+
+2006-09-01 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
+ (stzx_16): Likewise.
+ ("stzx_24_<mode>"): Likewise.
+ ("stzx_reversed_<mode>"): Likewise, and make mode-specific.
+ ("cmp<mode>_op"): New.
+ (cmp<mode>): Change to expander; just save operands.
+ (b<code>_op): New.
+ (b<code>): Change to expander, emit compare here.
+ (s<code>_op): Change to use split and expander.
+ (s<code>_24_op): Likewise.
+ (s<code>_<mode>): New.
+ (s<code>_<mode>_24): New.
+ (movqicc_<code>_<mode): New.
+ (movhicc_<code>_<mode>): New.
+ (s<code>): New.
+ (s<code>_24): New.
+ * config/m32c/m32c.c (compare_op0, compare_op1): New.
+ (m32c_pend_compare): New.
+ (m32c_unpend_compare): New.
+ (m32c_expand_scc): New.
+ (m32c_expand_movcc): Emit the compare also.
+ * config/m32c/predicates.md (mra_nopp_operand): New.
+
+2006-09-01 J"orn Rennecke <joern.rennecke@st.com>
+ Richard Guenther <rguenther@suse.de>
+ Adam Nemet <anemet@caviumnetworks.com>
+
+ PR middle-end/27226
+ * builtins.c (get_pointer_alignment): Handle more forms
+ of base addresses that can be used to derive more precise
+ information about alignment.
+
+2006-09-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/28899
+ * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle
+ want_value.
+
+ * gimplify.c (voidify_wrapper_expr): Handle null type.
+
+2006-09-01 Josh Conner <jconner@apple.com>
+
+ PR c++/25505
+ * tree-nrv.c (dest_safe_for_nrv_p): New function.
+ (execute_return_slot_opt): Use it.
+
+2006-08-31 Josh Conner <jconner@apple.com>
+
+ PR c++/25505
+ * tree-gimple.c (is_gimple_mem_rhs): Recognize functions
+ returning aggregates.
+
+2006-08-31 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/28839
+ * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in
+ blocks in that phi arguments appear.
+
+2006-08-31 Roger Sayle <roger@eyesopen.com>
+
+ PR other/22313
+ * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
+ NULL, otherwise use an advance_loc4 to adjust relative to the
+ current label.
+ (output_cfi) <DW_CFA_set_loc>: Update the current label.
+ (dwarf2out_switch_text_section): Reset the current label to avoid
+ using advance_loc4 over section boundaries.
+
+2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ PR target/24367
+ * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
+ r12 + SYMBOLIC_CONST.
+
+2006-08-30 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (see.o): Add $(EXPR_H) dependency.
+
+2006-08-30 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/27735
+ * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
+ Add new argument to keep track of whether an irreducible region
+ was affected. All callers changed.
+ (fix_irreducible_loops): Removed.
+ (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
+ flags were invalidated.
+
+2006-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands
+ instead of SF operands.
+ (*fop_df_comm_sse): Likewise.
+ (*fop_df_comm_i387): Likewise.
+ (*fop_df_1_mixed): Likewise.
+ (*fop_df_1_sse): Likewise.
+
+2006-08-29 Andrew Pinski <pinskia@physics.uc.edu>
+ J"orn Rennecke <joern.rennecke@st.com>
+
+ PR tree-optimization/17506
+ * tree-ssa.c (warn_uninit): If warning about a location outside of
+ the current function, note where the variable was declared.
+
2006-08-28 Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/28411
2006-08-24 Bill Wendling <wendling@apple.com>
* doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
-
+
2006-08-24 Jan Hubicka <jh@suse.cz>
* reload1.c (emit_reload_insns): Fix yet another typo in my patch.
* gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>:
Arrange for the temporary captures of components overlapping the lhs
to happen before the lhs is possibly cleared.
-
+
2006-08-21 Mark Shinwell <shinwell@codesourcery.com>
* config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in
PR c++/28573
* c-common.c (fold_offsetof_1): Add an argument and recurse down to it
- or the INTEGER_CST. Fail on a CALL_EXPR.
+ or the INTEGER_CST. Fail on a CALL_EXPR.
(fold_offsetof): Pass new argument to fold_offsetof_1.
* c-parser.c (c_parser_postfix_expression): Don't include a NULL
- operand into an INDIRECT_REF.
+ operand into an INDIRECT_REF.
* c-typeck.c (build_unary_op): Adjust call to fold_offsetof.
2006-08-16 Zdenek Dvorak <dvorakz@suse.cz>
* rtl.h (UINTVAL) New.
* config/rs6000/rs6000.c (SMALL_INT) Use it.
* testsuite/gcc.dg/20060801-1.c: New.
-
+
2006-08-01 Daniel Jacobowitz <dan@codesourcery.com>
PR debug/23336
range of a REG_DEAD register.
2006-18-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
- Anatoly Sokolov <aesok@post.ru>
+ Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.c (avr_mcu_types): Add support for attiny261,
attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
* config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
2006-05-19 Daniel Berlin <dberlin@dberlin.org>
- Kenneth Zadeck <zadeck@naturalbridge.com>
+ Kenneth Zadeck <zadeck@naturalbridge.com>
PR rtl-optimization/26855
2006-04-04 Matthias Klose <doko@debian.org>
* Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
+
+ PR bootstrap/26764
+ PR bootstrap/27334
* Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
strings.