OSDN Git Service

2009-10-06 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index e0892ee..ffe2782 100644 (file)
@@ -1,3 +1,788 @@
+2009-12-29  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+  2009-10-06 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
+
+       PR objective-c++/41595
+       * config/darwin.c (darwin_label_is_anonymous_local_objc_name):
+       New function to recognize objective c/c++ internal symbols,
+       including mangled ones.
+       * config/darwin.h (ASM_OUTPUT_LABELREF): Use
+       darwin_label_is_anonymous_local_objc_name to detect both
+       mangled and clear ObjC internal symbols.
+
+2009-12-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/41344
+       * omp-low.c (diagnose_sb_2): Handle GIMPLE_COND.
+
+2009-12-24  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
+
+       PR target/42457
+       * config/avr/avr.c (avr_extra_arch_macro): Remove static.
+       (avr_cpu_cpp_builtins): Remove.
+       * config/avr/avr.h (avr_extra_arch_macro): Add prototype.
+       * config/avr/avr-c.c: New File.
+       (avr_cpu_cpp_builtins) : Add.
+       * config/avr/t-avr: Add make information for avr-c.
+       * config.gcc (avr-*-*): Include avr-c.o as c and cpp object. 
+
+2009-12-24  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
+
+       PR target/35013, 27192
+       * config/avr/avr.c (print_operand_address): Print correct program
+       memory address.
+       Add warning for large device offset addresses.
+       (avr_assemble_integer): Ditto.
+       (print_operand): Add warnings for incorrect addressing.
+       (out_movqi_r_mr): Tag assembler with new address codes.
+       (out_movhi_r_mr): Ditto.
+       (out_movsi_r_mr): Ditto.
+       (out_movqi_mr_r): Ditto.
+       (out_movhi_mr_r): Ditto.
+       (out_movsi_mr_r): Ditto.
+       * config/avr/predicates.md (text_segment_operand): New predicate.
+       * config/avr/avr.md (jump): Tag assembler with new address codes.
+       (call_insn): Ditto.
+       (call_value_insn): Ditto.
+       (*tablejump_lib): Ditto.
+       (*cbi): Ditto.
+       (*sbi): Ditto.
+       (indirect_jump): New define_expand.
+       (jcindirect_jump): New pattern for constant expression jump.
+       (njcindirect_jump): Renamed old indirect_jump.
+
+2009-12-24  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * store-motion.c (build_store_vectors): Clear regs_set_in_block at
+       the start of a loop over basic blocks.
+
+2009-12-24  Julian Brown  <julian@codesourcery.com>
+           Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       PR target/40887
+       * config/arm/arm.c (output_call_mem): Remove armv5 support.
+       * config/arm/arm.md (*call_mem): Disable for armv5. Add note.
+       (*call_value_mem): Likewise.
+
+2009-12-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/42475
+       * combine.c (make_compound_operation) <case SUBREG>: Use mode of
+       SUBREG_REG (x) instead of tem's mode.
+
+2009-12-23  Jakub Jelinek  <jakub@redhat.com>
+           Cary Coutant  <ccoutant@google.com>
+
+       PR debug/42454
+       * dwarf2out.c (add_ranges_by_labels): Conditionally Add DW_AT_ranges
+       attribute.
+       (dwarf2out_finish): Change calls to add_ranges_by_labels.
+
+2009-12-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       PR target/42093
+       * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Fix macro usage
+       to TARGET_THUMB1.
+       (CASE_VECTOR_SHORTEN_MODE): Allow signed offsets
+       only for TARGET_THUMB1.
+
+2009-12-23  Ramana Radhakrishnan  <ramrad01@arm.com>
+
+       PR target/40670
+       * config/arm/arm.md: Split for Thumb1 as well.
+
+2009-12-22  Cary Coutant  <ccoutant@google.com>
+
+       PR debug/42454
+       * dwarf2out.c (dwarf2out_finish): Don't output range for .text
+       section unless .text section was used.  Likewise for cold.
+
+2009-12-22  Brian Hackett  <bhackett1024@gmail.com>
+
+       * doc/plugins.texi: Rename pre-genericize event.
+
+2009-12-22  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR driver/42463
+       * params.def ([PARAM_PREDICTABLE_BRANCH_OUTCOME]): Fix typo in
+       help string.
+
+       * doc/invoke.texi: Fix typo.
+
+2009-12-22  Paul Brook <paul@codesourcery.com>
+
+       * doc/tm.texi (ARG_POINTER_CFA_OFFSET): Document new default.
+       * defaults.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size.
+       * config/spu/spu.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size.
+
+2009-12-21  Brian Hackett  <bhackett1024@gmail.com>
+
+       * plugin.def: Rename pre-genericize event.
+       * plugin.c (register_callback, invoke_plugin_callbacks): Same.
+       * c-decl.c (finish_function): Invoke callbacks on above event.
+
+2009-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/42429
+       * reload.c (find_reloads_subreg_address): When adjusting mode of
+       MEM, update also MEM_SIZE if it is set.
+
+2009-12-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/42345
+       * acinclude.m4 (gcc_GAS_FLAGS): New.
+       (gcc_GAS_CHECK_FEATURE): Use gcc_GAS_FLAGS.
+       * configure: Regenerated.
+
+2009-12-20  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/42027
+       * cfgexpand.c (expand_gimple_cond): Use jumpy sequence for &, &&, |
+       and || if jumps are cheap.
+
+2009-12-19  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/42401
+       * lto-streamer-out.c (tree_is_indexable): Local statics
+       are indexable.
+       (lto_output_tree_ref): Adjust assert.
+
+2009-12-19  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42108
+       * tree-ssa-sccvn.c (last_vuse_ptr): New variable.
+       (vn_reference_lookup_2): Update last seen VUSE.
+       (vn_reference_lookup_3): Avoid updating last seen VUSE after
+       translating.
+       (visit_reference_op_load): Use last seen VUSE from the first
+       lookup when entering into the table.
+
+2009-12-19  Joern Rennecke  <amylaar@spamcop.net>
+
+       * Makefile.in (PLUGIN_HEADERS): Add more headers.
+
+       * tree-pass.h (GCC_PASS_LISTS): Define.
+       (PASS_LIST_NO_all_lowering_passes): New enumeration value.
+       (PASS_LIST_NO_all_small_ipa_passes): Likewise.
+       (PASS_LIST_NO_all_regular_ipa_passes): Likewise.
+       (PASS_LIST_NO_all_lto_gen_passes): Likewise.
+       (PASS_LIST_NO_all_passes): Likewise.
+       (PASS_LIST_NUM): Likewise.
+       (gcc_pass_lists): Declare.
+       * passes.c (gcc_pass_lists): Define.
+
+2009-12-18  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (copy_nary): New function.
+       (copy_phis): Likewise.
+       (copy_references): Likewise.
+       (process_scc): Avoid last iteration by copying the
+       optimistic table to the valid table.
+
+2009-12-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (loc_descriptor): For SYMBOL_REFs and LABEL_REFs
+       use DW_OP_addr+DW_OP_stack_value instead of DW_OP_implicit_value.
+       (add_const_value_attribute): For CONST_STRING, SYMBOL_REFs and
+       LABEL_REFs use DW_OP_addr+DW_OP_stack_value DW_AT_location instead of
+       DW_AT_const_value.
+
+2009-12-17  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/41679
+       * var-tracking.c (count_uses): Count MO_VAL_USE of original
+       MO_VAL_SET value for COND_EXEC.
+       (add_stores): Handle conditional stores.
+
+       PR debug/41679
+       * var-tracking.c (use_type): Remove indirection from loc.
+       (count_uses): Dereference incoming loc early.
+       (add_uses): Dereference incoming loc early.
+
+       PR debug/41679
+       * var-tracking.c (add_stores): Avoid value mode mismatch for
+       promoted declarations.
+
+2009-12-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/42386
+       * ipa.c (function_and_variable_visibility): Clear same_comdat_group
+       links of DECL_EXTERNAL nodes.
+
+2009-12-17  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/rtl.texi (Vector Operations): Clarify vec_select result mode.
+
+2009-12-17  Julian Brown  <julian@codesourcery.com>
+
+       * config/arm/bpabi-v6m.S (test_div_by_zero): New macro.
+       (aeabi_ldivmod, aeabi_uldivmod): Use above macro.
+       * config/arm/bpabi.S (test_div_by_zero): New macro.
+       (aeabi_ldivmod, aeabi_uldivmod): Use above macro.
+       * config/arm/lib1funcs.asm (ARM_LDIV0): Tail-call int div-by-zero
+       handler for EABI. Add signed/unsigned argument, pass correct value
+       to that handler.
+       (THUMB_LDIV0): Same, for Thumb.
+       (DIV_FUNC_END): Add signed argument.
+       (WEAK): New macro (for EABI).
+       (__udivsi3, __umodsi3): Add unsigned argument to DIV_FUNC_END. For
+       __udivsi3, add entry point which skips division-by-zero test.
+       (__divsi3, __modsi3): Add signed argument to DIV_FUNC_END.
+       (__aeabi_uidivmod, __aeabi_idivmod): Check for division by zero.
+       Call __udivsi3 or __divsi3 via entry points which skip
+       division-by-zero tests.
+       (__div0): Rename to __aeabi_idiv0, __aeabi_ldiv0 for EABI, and
+       declare those names weak.
+
+2009-12-17  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42397
+       * builtins.c (get_object_alignment): Properly deal with
+       a CONST_DECL base.
+       * expr.c (emit_block_move_hints): Assert the alignment makes
+       sense.
+
+2009-12-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/32280
+       * config/i386/i386-modes.def (V1TI): New vector mode.
+       * config/i386/i386.h (VALID_SSE_REG_MODE): Add V1TImode.
+       (SSE_REG_MODE_P): Ditto.
+       * config/i386/sse.md (SSEMODE16): New mode iterator.
+       (AVXMODE16): Ditto.
+       (avxvecmode): Handle V1TI mode.
+       (*avx_mov<mode>_internal): Use AVXMODE16 instead of AVXMODE.
+       (mov<mode>): Use SSEMODE16 instead of SSEMODE.
+       (*mov<mode>_internal): Ditto.
+       (push<mode>1): Ditto.
+       (movmisalign<mode>): Ditto.
+       (sse2_ashlv1ti): Rename from sse2_ashlti.
+       (sse2_lshrv1ti): Rename from sse2_lshrti.
+       (*avx_ashlv1ti): Rename from *avx_ashlti and move from i386.md.
+       (*avx_lshrv1ti): Rename from *avx_lshrti and move from i386.md.
+       (vec_shl_<mode>): Convert operands to V1TImode and use V1TI shift.
+       (vec_shr_<mode>): Ditto.
+       (*sse2_mulv4si3): Update for renamed sse2_ashlv1ti3.
+       (udot_prodv4si): Ditto.
+       * config/i386/i386.c (classify_argument): Handle V1TImode.
+       (function_arg_advance_32): Ditto.
+       (function_arg_32): Ditto.
+       (ix86_expand_sse4_unpack): Convert operands to V1TImode and update
+       for renamed gen_sse2_lshrv1ti3.
+       (ix86_expand_args_builtin) <V2DI_FTYPE_V2DI_INT_CONVERT>: Set rmode
+       to V1TImode.
+       (struct builtin_description) <__builtin_ia32_pslldqi128>: Update
+       for renamed sse2_ashlv1ti3.
+       <__builtin_ia32_psrldqi128>: Update for renamed sse2_lshrv1ti3.
+       
+       Revert:
+       2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/32280
+       * config/i386/sse.md ("sse2_ashlti", "sse2_lshrti3"): Move ...
+       * config/i386/i386.md ("sse2_ashlti", "sse2_lshrti3"): ... to here.
+
+2009-12-17  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/42372
+       * arm.md (pic_add_dot_plus_eight): Change output constraint from
+       update to write.
+
+2009-12-17  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+       Update build_indirect_ref calls.        
+
+2009-12-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sync.md (IMODE): Remove mode iterator.
+       (modesuffix): Remove mode attribute.
+       (modeconstraint): Ditto.
+       (immconstraint): Ditto.
+       (*sync_compare_and_swap<mode>): Use SWI mode iterator instead of
+       IMODE mode iterator, imodesuffix mode attribute instead of modesuffix,
+       <r> mode attribute instead of modeconstraint and <i> mode attribute
+       instead of immconstraint.
+       (sync_double_compare_and_swap<mode>): Ditto.
+       (sync_old_add<mode>): Ditto.
+       (sync_lock_test_and_set<mode>): Ditto.
+       (sync_add<mode>): Ditto.
+       (sync_sub<mode>): Ditto.
+       (sync_and<mode>): Ditto.
+       (sync_ior<mode>): Ditto.
+       (sync_xor<mode>): Ditto.
+       (sync_<code><mode>): Macroize insn pattern from
+       sync_{and,ior,xor}<mode> using any_logic code iterator.
+
+2009-12-17  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       PR c/40885
+       * c-common.h (ref_operator): New type.
+       (build_indirect_ref): Adjust prototype with new argument.
+       * c-typeck.c (build_indirect_ref): Accept ref_operator as argument and
+       emit the diagnostics for easy translation.
+       (build_array_ref): Update calls to build_indirect_ref.
+       * c-omp.c (c_finish_omp_atomic): Likewise.
+       * c-parser.c (c_parser_unary_expression,
+       c_parser_postfix_expression_after_primary): Likewise.
+
+2009-12-16  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/42392
+       * langhooks.c (lhd_begin_section): Make sure to switch back
+       to the text section, not some random one.
+
+2009-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-chrec.c (chrec_convert_1): Only fold (T2)(t +- x) to
+       (T2)t +- (T2)x if only integer types are involved.
+
+2009-12-16  Ben Elliston  <bje@au.ibm.com>
+
+       * tree-data-ref.h (dot_rdg): Remove prototype.
+       * tree-data-ref.c (dog_rdg_1, dot_rdg): Remove.
+
+2009-12-16  Kazu Hirata  <kazu@codesourcery.com>
+
+       * doc/invoke.texi, doc/options.texi, doc/plugins.texi,
+       doc/tm.texi: Fix typos.
+
+2009-12-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/extend.texi (Function Attributes, Extended Asm):
+       Replace TABs with spaces.
+       * doc/md.texi (Standard Names): Likewise.
+       * doc/plugins.texi (Plugins): Likewise.
+
+       * doc/c-tree.texi (Expression trees): Use @itemx for all but
+       the first item for merged items.
+       * doc/extend.texi (Variable Attributes): Likewise.
+       * doc/install.texi (Configuration): Likewise.
+       * doc/invoke.texi (RS/6000 and PowerPC Options, RX Options):
+       Likewise.
+
+2009-12-15  Richard Guenther  <rguenther@suse.de>
+
+       * tree.c (free_lang_data_in_binfo): Do not free BINFO_OFFSET
+       and BINFO_VPTR_FIELD.
+       (free_lang_data_in_type): Do not free TYPE_STUB_DECL if we
+       generate debug information.
+       (free_lang_data_in_decl): Do not free DECL_SIZE_UNIT,
+       DECL_SIZE, DECL_FIELD_OFFSET and DECL_FCONTEXT.
+       (free_lang_data): Do not disable debuginfo.
+       * lto-streamer-out.c (write_symbol_vec): Deal with
+       non-constant DECL_SIZE.
+       (pack_ts_base_value_fields): Write types with false
+       TREE_ASM_WRITTEN.
+       (lto_output_ts_type_tree_pointers): Stream TYPE_STUB_DECL.
+       * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Stream
+       TYPE_STUB_DECL.
+       * dwarf2out.c (add_pure_or_virtual_attribute): Check for
+       DECL_CONTEXT.
+       (gen_type_die_for_member): Test for TYPE_STUB_DECL.
+       * opts.c (decode_options): Do not disable var-tracking for lto.
+       * doc/invoke.texi (-flto): Document -flto vs. -g experimental
+       status.
+       (-fwhopr): Document experimental status.
+
+2009-12-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR graphite/42185
+       * graphite-sese-to-poly.c (is_reduction_operation_p): Assert that
+       we are a GIMPLE_ASSIGN.  Do not calculate rhs code twice.
+       (follow_ssa_with_commutative_ops): Return NULL on non assignment.
+
+2009-12-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/rs6000/rs6000.md (probe_stack): Use an enclosing SET.
+
+2009-12-15  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.h (compare_field_offset): Declare.
+       * gimple.c (compare_field_offset): Export.
+       * lto-streamer-in.c (input_gimple_stmt): Use compare_field_offset.
+
+2009-12-15  Richard Guenther  <rguenther@suse.de>
+
+       * lto-cgraph.c (lto_output_node): Also stream the alias
+       for regular aliases.
+       (input_node): Likewise.
+
+2009-12-15  Paolo Bonzini  <bonzini@gnu.org>
+           Shujing Zhao  <pearly.zhao@oracle.com>
+
+       * intl.c (get_spaces): New.
+       * intl.h (get_spaces): New.
+
+2009-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/42369
+       * config/i386/i386.c (ix86_expand_special_args_builtin): Avoid
+       using switch with CODE_FOR_lwp_lwp* cases.
+
+       * config/i386/i386-builtin-types.def (PVOID_FTYPE_VOID): Use
+       DEF_FUNCTION_TYPE (PVOID) instead of DEF_FUNCTION_TYPE (PVOID, VOID).
+
+2009-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cfgexpand.c (expand_debug_expr) <INDIRECT_REF>: Remove overzealous
+       assertion and useless code.
+       <TARGET_MEM_REF>: Likewise.
+
+2009-12-14  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/41473
+       * dwarf2out.c (AT_loc_list_ptr): New.
+       (resolve_addr): Remove unresolved attributes and loc_list entries.
+
+       PR debug/41473
+       * dwarf2out.c (add_var_loc_to_decl): Don't drop initial empty
+       locations.
+       (new_loc_list): Drop gensym arg.  Move generation of ll_symbol...
+       (gen_llsym): ... here.  New function.
+       (add_loc_descr_to_loc_list): Removed.
+       (loc_descriptor): Infer mode from CONST_DOUBLEs and CONST_VECTORs.
+       (single_element_loc_list): Removed.
+       (dw_loc_list): Don't create entries without a location.  Don't
+       special-case the first node of the list, only single nodes.
+       (single_element_loc_list_p): Simplify.
+       (loc_list_from_tree): Don't use DECL_RTL if loc_list is nonempty.
+       (add_location_or_const_value_attribute): Test var loc for NULL.
+       (convert_cfa_to_fb_loc_list): Adjust calls to new new_loc_list,
+       call gen_llsym if needed.
+
+2009-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * cgraph.h (cgraph_set_nothrow_flag, cgraph_set_readonly_flag,
+       cgraph_set_pure_flag, cgraph_set_looping_const_or_pure_flag): New
+       prototypes.
+       * cgraph.c (cgraph_set_nothrow_flag, cgraph_set_readonly_flag,
+       cgraph_set_pure_flag, cgraph_set_looping_const_or_pure_flag): New
+       functions.
+       * except.h (set_nothrow_function_flags): Remove prototype.
+       * except.c (set_nothrow_function_flags): Use cgraph_set_nothrow_flag.
+       Make static.
+       * ipa-pure-const.c (propagate): Use cgraph_set_nothrow_flag,
+       cgraph_set_readonly_flag, cgraph_set_pure_flag
+       and cgraph_set_looping_const_or_pure_flag.
+       (local_pure_const): Likewise.
+
+2009-12-14  Jakub Jelinek  <jakub@redhat.com>
+           Sebastian Pop  <sebastian.pop@amd.com>
+
+       * config/i386/i386-builtin-types.def (PVOID): Declared.
+       (VOID_FTYPE_PVOID): Declared.
+       (PVOID_FTYPE_VOID): Declared.
+       (UCHAR_FTYPE_USHORT_UINT_USHORT): Removed.
+       (VOID_FTYPE_USHORT_UINT_USHORT): Removed.
+       * config/i386/i386.c (IX86_BUILTIN_LLWPCB16, IX86_BUILTIN_LLWPCB32,
+       IX86_BUILTIN_LLWPCB64, IX86_BUILTIN_SLWPCB16, IX86_BUILTIN_SLWPCB32,
+       IX86_BUILTIN_SLWPCB64, IX86_BUILTIN_LWPVAL16, IX86_BUILTIN_LWPINS16):
+       Removed.
+       (IX86_BUILTIN_LLWPCB, IX86_BUILTIN_SLWPCB): New.
+       (bdesc_special_args): Adjust declaration of __builtin_ia32_llwpcb,
+       __builtin_ia32_slwpcb, __builtin_ia32_lwpval32,
+       __builtin_ia32_lwpval64, __builtin_ia32_lwpins32, and
+       __builtin_ia32_lwpins64.
+       (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PVOID.
+       Do not handle VOID_FTYPE_USHORT_UINT_USHORT and
+       UCHAR_FTYPE_USHORT_UINT_USHORT.  Warn when the third operand is
+       not an immediate.  Also handle builtin functions with 3 arguments.
+       (ix86_expand_builtin): Handle IX86_BUILTIN_LLWPCB and
+       IX86_BUILTIN_SLWPCB.
+       * config/i386/i386.md (UNSPEC_LLWP_INTRINSIC, UNSPEC_SLWP_INTRINSIC):
+       Renamed UNSPECV_LLWP_INTRINSIC and UNSPECV_SLWP_INTRINSIC.
+       (memory attribute): Handle lwp.
+       (lwp*): Rewrite all the insn patterns for LWP.
+       * config/i386/lwpintrin.h (__llwpcb16, __llwpcb32, __llwpcb64,
+       __slwpcb16, __slwpcb32, __slwpcb64, __lwpval16, __lwpins16): Removed.
+       (__llwpcb, __slwpcb): New.
+
+2009-12-14  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
+
+       * dominance.c (set_immediate_dominator): Don't mark as inline.
+
+2009-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/tm.texi (STACK_CHECK_PROTECT): Document alternate default.
+       * doc/md.texi (check_stack): Clarify.
+       (probe_stack): Likewise.
+       * config/rs6000/rs6000.md (UNSPEC_PROBE_STACK): New constant.
+       (probe_stack): New insn.
+
+2009-12-14  Ben Elliston  <bje@au.ibm.com>
+
+       * lto-streamer-in.c (lto_get_builtin_tree): fclass can only be a
+       BUILT_IN_NORMAL or BUILT_IN_MD.
+
+2009-12-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/tm.texi (STACK_CHECK_PROBE_LOAD): Delete.
+       * expr.h (STACK_CHECK_PROBE_LOAD): Likewise.
+       * explow.c (emit_stack_probe): Do not test STACK_CHECK_PROBE_LOAD.
+       * system.h (STACK_CHECK_PROBE_LOAD): Poison.
+
+2009-12-13  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/42027
+       * dojump.c (do_jump <TRUTH_AND_EXPR, TRUTH_OR_EXPR>): Go to
+       TRUTH_ANDIF_EXPR resp. TRUTH_ORIF_EXPR expander, instead of
+       falling through.
+
+2009-12-13  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
+
+       PR target/23726
+       * config/avr/predicates.md (pseudo_register_operand): New predicate
+       for pseudos.
+       * config/avr/avr.md (divmodqi4): Replace with define_insn_and_split
+       to allow div/mod optimization.
+       (udivmodqi4): Ditto.
+       (divmodhi4): Ditto.
+       (udivmodhi4): Ditto.
+       (divmodsi4): Ditto.
+       (udivmodsi4): Ditto.
+
+2009-12-13  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42357
+       * tree-sra.c (sra_modify_assign): Do not tear apart struct copies.
+
+2009-12-12  Richard Guenther  <rguenther@suse.de>
+
+       * tree.c (need_assembler_name_p): Abstract decls do not need
+       an assembler name.
+       * dwarf2out.c (dwarf2out_abstract_function): Preserve
+       DECL_ABSTRACT properly.
+
+2009-12-11  Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer-in.c (lto_input_tree_ref): Do not register
+       DEBUG_EXPR_DECLs with the varpool.
+
+2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/linux-unwind.h (MD_FROB_UPDATE_CONTEXT, 64-bit): Define.
+       (sparc64_frob_update_context): New function.
+
+2009-12-11  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/41658
+       PR lto/41657
+       * lto-streamer-out.c (write_global_stream): Do not make decls
+       weak but resort to TREE_ASM_WRITTEN to avoid multiple definitions.
+       Make sure to mark all decls that we have written.
+
+2009-12-11  Sebastian Andrzej Siewior  <bigeasy@linutronix.de>
+
+       PR target/36047
+
+       * config/m68k/linux.h: Remove LABELNO from the mcount statement. It is
+       not used by glibc/uclibc and does not work with large binaries.
+
+2009-12-11  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/41662
+       * lto-streamer-in.c (lto_init_eh): Move eh_initialized_p
+       handling here.
+       (input_eh_regions): Adjust.
+       (lto_input_ts_function_decl_tree_pointers): Initialize EH
+       if a non-NULL DECL_FUNCTION_PERSONALITY was read in.
+
+2009-12-11  Duncan Sands  <baldrick@free.fr>
+
+       * passes.c (make_pass_instance): Allocate and copy the right amount of
+       memory for ipa passes, which are not the same size as other passes.
+
+2009-12-11  Joern Rennecke  <amylaar@spamcop.net>
+
+       * plugin.c (get_named_event_id): Fix hash table rebuild to include
+       dynamically allocated events.
+
+2009-12-11  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/42320
+       * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Properly
+       detect non-prevailing decls.
+
+2009-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/42317
+       * cgraph.h (struct cgraph_node): Add same_comdat_group field.
+       * cgraph.c (cgraph_remove_node): Unchain node from same_comdat_group
+       circular list.
+       (cgraph_node_can_be_local_p): Return false for DECL_COMDAT with
+       node->same_comdat_group.
+       * ipa.c (cgraph_remove_unreachable_nodes): For any reachable node
+       mark all its same_comdat_group nodes as also reachable.
+       (cgraph_externally_visible_p): Return true even if any of
+       same_comdat_group nodes has address taken.
+       * lto-cgraph.c (lto_output_node): Stream out same_comdat_group.
+       (output_cgraph): Ensure other same_comdat_group nodes are also
+       included.
+       (input_node): Stream in same_comdat_group.
+       (input_cgraph_1): Fix up same_comdat_group fields from references
+       to pointers.
+       * cgraphunit.c (cgraph_analyze_functions): Mark all other
+       same_comdat_group nodes as reachable.
+       (cgraph_mark_functions_to_output): For each node->process process
+       also other same_comdat_group nodes.
+       * ipa-inline.c (cgraph_clone_inlined_nodes): Don't reuse nodes
+       with same_comdat_group non-NULL.
+       (cgraph_mark_inline_edge): Likewise.
+
+2009-12-10  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/42228
+       PR middle-end/42110
+       * cgraph.c (cgraph_create_edge_including_clones): Add old_stmt
+       parameter; update edge if it already exists.
+       (cgraph_remove_node): Handle correctly cases where we are removing
+       node having clones.
+       * cgraph.h (cgraph_create_edge_including_clones): Declare.
+       (verify_cgraph_node): Add missing error_found = true code.
+       (cgraph_materialize_all_clones): Remove call edges of dead nodes.
+       * ipa.c (cgraph_remove_unreachable_nodes): Correctly look for master
+       clone; fix double linked list removal.
+       * tree-inline.c (copy_bb): Update cgraph_create_edge_including_clones
+       call; fix frequency of newly created edge.
+
+2009-12-10  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       PR rtl-opt/42216
+       * regrename.c: Error out if MAX_RECOG_OPERANDS is larger than
+       HOST_BITS_PER_WIDE_INT.
+       (verify_reg_in_set): New function, broken out of verify_reg_tracked.
+       (verify_reg_tracked): Use it.
+       (scan_rtx_reg): When seeing a use involving a superset of the
+       registers in an existing chain, enlarge that chain.  Otherwise,
+       allow subsets and set fail_current_block for all other kinds of
+       overlap.
+       (hide_operands): New argument UNTRACKED_OPERANDS; callers changed.
+       Do not modify operands when the bit with the corresponding number
+       is set in that bitmap.
+       (build_def_use): When we see matching operands with different
+       modes, don't set fail_current_block, but keep track of such
+       operands in a bitmap if their registers aren't already tracked
+       in an open chain.  Pass this bitmap to all hide_operands calls.
+
+2009-12-10  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42337
+       * tree-ssa-pre.c (seen_during_translate): Remove.
+       (phi_translate_1): Collapse into ...
+       (phi_translate): ... this.  Remove seen parameter and
+       adjust recursive calls.
+
+2009-12-10  Richard Guenther  <rguenther@suse.de>
+       Allan Sandfeld Jensen  <linux@carewolf.com>
+
+       * tree-vectorizer.c (vectorize_loops): Properly guard
+       vectorizer verboseness.
+
+2009-12-10  Ben Elliston  <bje@au.ibm.com>
+
+       * fwprop.c (free_load_extend): Initialise `use'.
+
+2009-12-09  David Edelsohn  <edelsohn@gnu.org>
+
+       * builtins.c (do_mpc_ckconv): Pass the component type to
+       real_from_mpfr().
+
+2009-12-09  Xinliang David Li  <davidxl@google.com>
+
+       PR tree-optimization/42337
+       * tree-ssa-pre.c (phi_translate_1): Push and Pop SEEN set.
+
+2009-12-09  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/rs6000/vector.md (absv2sf2, negv2sf2, addv2sf3, subv2sf3,
+       mulv2sf3, divv2sf3): New expanders.
+       * config/rs6000/spe.md (spe_evabs, spe_evand, spe_evaddw, spe_evsubfw,
+       spe_evdivws): Rename to use standard GCC names.
+       * config/rs6000/paired.md (negv2sf, absv2sf2, addv2sf3, subv2sf3,
+       mulv2sf3, divv2sf3): Rename to avoid conflict with the new expanders.
+       * config/rs6000/rs6000.c (bdesc_2arg, bdesc_1arg): Use new CODE_FOR_
+       names for renamed patterns.
+
+2009-12-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.md ("copysign<mode>3"): Pattern removed.
+
+2009-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac: Compute ld_ver, ld_vers, ld_date, ld_vers_major,
+       ld_vers_minor and ld_vers_path always, not just when gcc_cv_ld_hidden
+       isn't cached.
+       * configure: Regenerated.
+
+2009-12-08  Richard Henderson  <rth@redhat.com>
+
+       * combine.c (setup_incoming_promotions): Fix sign-extend of
+       zero-extend case; tidy conditions.
+
+2009-12-08  Michael Matz  <matz@suse.de>
+
+       PR middle-end/38474
+       * function.c (free_temp_slots): Only walk the temp slot
+       addresses and combine slots if we actually changes something.
+       (pop_temp_slots): Ditto.
+
+2009-12-08  Olga Golovanevsky  <olga@il.ibm.com>
+
+       PR middle-end/41843
+       * ipa-struct-reorg.c (compare_fields): New function.
+       (find_field_in_struct_1): Use compare_fields function.
+       (is_equal_types): Likewise.
+
+2009-12-07  DJ Delorie  <dj@redhat.com>
+
+       PR c/42312
+       * config/mep/mep.c (mep_expand_prologue): Set
+       really_need_stack_frame after frame_size is set.
+
+2009-12-07  Richard Henderson  <rth@redhat.com>
+
+       PR rtl-opt/42269
+       * combine.c (setup_incoming_promotions): Improve the conditions
+       under which we respect the promotions applied.
+
+2009-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch.
+       * config/sparc/linux64.h (ASM_SPEC): Likewise.
+
+2009-12-07  Richard Henderson  <rth@redhat.com>
+
+       PR debug/42299
+       PR debug/42166
+       * tree-ssa.c (insert_debug_temp_for_var_def): Skip propagation
+       for ssa names already registered for update.
+
+2009-12-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/42244
+       * ddg.c (add_inter_loop_mem_dep): Use ANTI_DEP if from or to
+       is a DEBUG_INSN.
+
+2009-12-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * config/i386/driver-i386.c (host_detect_local_cpu): Add -mlwp to the
+       options when bit_LWP is set.
+
+2009-12-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * config/i386/cpuid.h (bit_ABM): New.
+       * config/i386/driver-i386.c (host_detect_local_cpu): Add -mabm to the
+       options when bit_ABM is set.
+
+2009-12-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.c (bdesc_special_args): Move __builtin_clzs from
+       this array ...
+       (bdesc_args): ... here.
+       * config.gcc (i[34567]86-*-*): Include abmintrin.h.
+       (x86_64-*-*): Likewise.
+
 2009-12-07  Sebastian Pop  <sebastian.pop@amd.com>
 
        * config.gcc (i[34567]86-*-*, x86_64-*-*): Add popcntintrin.h.