OSDN Git Service

Fix PR debug/45024
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2e53702..ada7a16 100644 (file)
+2010-07-22  Dodji Seketeli  <dodji@redhat.com>
+
+       PR debug/45024
+       * dwarf2out.c (scope_die_for): Don't fall back to the compilation
+       unit DIE if we can find the scope DIE.
+
+2010-07-22  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * ira-build.c (ira_create_object): New arg SUBWORD; all callers changed.
+       Initialize OBJECT_SUBWORD.
+       (ira_create_allocno): Clear ALLOCNO_NUM_OBJECTS.
+       (ira_create_allocno_objects): Renamed from ira_create_allocno_object;
+       all callers changed.
+       (merge_hard_reg_conflicts): Iterate over allocno subobjects.
+       (finish_allocno): Likewise.
+       (move_allocno_live_ranges, copy_allocno_live_ranges): Likewise.
+       (remove_low_level_allocnos): Likewise.
+       (update_bad_spill_attribute): Likewise.
+       (setup_min_max_allocno_live_range_point): Likewise.
+       (sort_conflict_id_map): Likewise.
+       (ira_flattening): Likewise.  Use ior_hard_reg_conflicts.
+       (ior_hard_reg_conflicts): New function.
+       (ior_allocate_object_conflicts): Renamed first argument to OBJ.
+       (compress_conflict_vecs): Iterate over objects, not allocnos.
+       (ira_add_live_range_to_object): New function.
+       (object_range_compare_func): Renamed from allocno_range_compare_func.
+       All callers changed.
+       (setup_min_max_conflict_allocno_ids): For allocnos with multiple
+       subobjects, widen the min/max range of the lowest-order object to
+       potentially include all other such low-order objects.
+       * ira.c (ira_bad_reload_regno_1): Iterate over allocno subobjects.
+       (check_allocation): Likewise.  Use more fine-grained tests for register
+       conflicts.
+       * ira-color.c (allocnos_have_intersected_live_ranges_p): Iterate over
+       allocno subobjects.
+       (assign_hard_reg): Keep multiple sets of conflicts.  Make finer-grained
+       choices about which bits to set in each set.  Don't use
+       ira_hard_reg_not_in_set_p, perform a more elaborate test for conflicts
+       using the multiple sets we computed.
+       (push_allocno_to_stack): Iterate over allocno subobjects.
+       (all_conflicting_hard_regs_coalesced): New static function.
+       (setup_allocno_available_regs_num): Use it.
+       (setup_allocno_left_conflicts_size): Likewise.  Iterate over allocno
+       subobjects.
+       (coalesced_allocno_conflict): Test subobject 0 in each allocno.
+       (setup_allocno_priorities): Divide ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
+       by ALLOCNO_NUM_OBJECTS.
+       (calculate_spill_cost): Likewise.
+       (color_pass): Express if statement in a more normal way.
+       (ira_reassign_conflict_allocnos): Iterate over allocno subobjects.
+       (slot_coalesced_allocno_live_ranges_intersect_p): Likewise.
+       (setup_slot_coalesced_allocno_live_ranges): Likewise.
+       (allocno_reload_assign): Likewise.
+       (ira_reassign_pseudos): Likewise.
+       (fast_allocation): Likewise.
+       * ira-conflicts.c (build_conflict_bit_table): Likewise.
+       (print_allocno_conflicts): Likewise.
+       (ira_build_conflicts): Likewise.
+       (allocnos_conflict_for_copy_p): Renamed from allocnos_conflict_p.  All
+       callers changed.  Test subword 0 of each allocno for conflicts.
+       (build_object_conflicts): Renamed from build_allocno_conflicts.  All
+       callers changed.  Iterate over allocno subobjects.
+       * ira-emit.c (modify_move_list): Iterate over allocno subobjects.
+       * ira-int.h (struct ira_allocno): New member. num_objects.  Rename object
+       to objects and change it into an array.
+       (ALLOCNO_OBJECT): Add new argument N.
+       (ALLOCNO_NUM_OBJECTS, OBJECT_SUBWORD): New macros.
+       (ira_create_allocno_objects): Renamed from ira_create_allocno_object.
+       (ior_hard_reg_conflicts): Declare.
+       (ira_add_live_range_to_object): Declare.
+       (ira_allocno_object_iterator): New.
+       (ira_allocno_object_iter_init, ira_allocno_object_iter_cond): New.
+       (FOR_EACH_ALLOCNO_OBJECT): New macro.
+       * ira-lives.c (objects_live): Renamed from allocnos_live; all uses changed.
+       (allocnos_processed): New sparseset.
+       (make_object_born): Renamed from make_allocno_born; take an ira_object_t
+       argument.  All callers changed.
+       (make_object_dead): Renamed from make_allocno_dead; take an ira_object t
+       argument.  All callers changed.
+       (update_allocno_pressure_excess_length): Take an ira_obejct_t argument.
+       All callers changed.
+       (mark_pseudo_regno_live): Iterate over allocno subobjects.
+       (mark_pseudo_regno_dead): Likewise.
+       (mark_pseudo_regno_subword_live, mark_pseudo_regno_subword_dead): New
+       functions.
+       (mark_ref_live): Detect subword accesses and call
+       mark_pseudo_regno_subword_live as appropriate.
+       (mark_ref_dead): Likewise for mark_pseudo_regno_subword_dead.
+       (process_bb_nodes_live): Deal with object-related updates first; set
+       and test bits in allocnos_processed to avoid computing allocno
+       statistics more than once.
+       (create_start_finish_chains): Iterate over objects, not allocnos.
+       (print_object_live_ranges): New function.
+       (print_allocno_live_ranges): Use it.
+       (ira_create_allocno_live_ranges): Allocate and free allocnos_processed
+       and objects_live.
+
+2010-07-22  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/42451
+       * gimple.c (gtc_next_dfs_num): New global.
+       (struct sccs): Make value a union, add integer same_p member.
+       (gtc_visit): New function.
+       (gimple_types_compatible_p_1): New function, split out from ...
+       (gimple_types_compatible_p): ... here.  Start a DFS walk here.
+       (iterative_hash_gimple_type): Adjust for sccs change.
+
+2010-07-22  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/44891
+       * tree-sra.c: Include gimple-pretty-print.h.
+       (replace_uses_with_default_def_ssa_name): Renamed to
+       get_repl_default_def_ssa_name, return the new SSA name instead of
+       replacing the old one.
+       (sra_modify_assign): Dump a message when removing a load, if the LHS
+       is an SSA_NAME, do not do any propagation, just set the RHS to a
+       default definition SSA NAME, type convert if necessary.
+       * Makefile.in (tree-sra.o): Add gimple-pretty-print.h to dependencies.
+
+2010-07-22  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/45017
+       * tree-ssa-sccvn.c (vn_reference_eq): Make sure we honor
+       TYPE_PRECISION of integral types in addition to size.
+
+2010-07-22  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Default to GLIBC
+       when no C library is specified.
+
+2010-07-22  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.h (struct ipa_node_params): Updated comment.
+       (struct ipa_edge_args): Likewise.
+       * Makefile.in (ipa-prop.o): Remove bogus $(GIMPLE_FOLD_H) dependency.
+
+2010-07-22  Martin Jambor  <mjambor@suse.cz>
+
+       * cgraphunit.c (verify_edge_count_and_frequency): New function.
+       (verify_cgraph_node): Verify frequencies of indirect edges.
+       * tree-inline.c (tree_function_versioning): Update frequencies of
+       indirect edges.
+
+2010-07-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       PR target/43698
+       * config/arm/arm.md: Split arm_rev into *arm_rev
+       and *thumb1_rev. Set *arm_rev to be predicable.
+
+2010-07-22  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * config/darwin.h (LINK_COMMAND_SPEC): Split into...
+       (LINK_COMMAND_SPEC_A): New.
+       (DSYMUTIL): New.
+       (DSYMUTIL_SPEC): New.
+       * config/darwin9.h (LINK_COMMAND_SPEC): Remove.
+       (DSYMUTIL_SPEC): Update for darwin >= 9 requirements.
+
+2010-07-22  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * calls.c (load_register_parameters): Move check for zero
+       sized items so that only the call to 
+       mem_overlaps_already_clobbered_arg_p () is protected.
+
+2010-07-22  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-pure-const.c (varying_state): Break out from ...
+       (get_function_state): ... here; always return varying_state
+       when state would be NULL otherwise.
+       (remove_node_data): Do not free varying state.
+
+2010-07-22  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR bootstrap/44970
+       PR middle-end/45009
+       * postreload.c: Include "target.h".
+       (reload_combine_closest_single_use): Don't take DEBUG_INSNs
+       into account.
+       (fixup_debug_insns): Don't copy the rtx.
+       (reload_combine_recognize_const_pattern): DEBUG_INSNs can't
+       have uses.  Don't copy when replacing.  Call fixup_debug_insns
+       in the case where we merged one add with another.
+       (reload_combine_recognize_pattern): Fail if there aren't any
+       uses.  Try harder to determine whether we're picking a valid
+       index register.  Don't set store_ruid for an insn we're going
+       to scan in the next iteration.
+       (reload_combine): Remove unused code.
+       (reload_combine_note_use): When updating use information for
+       an old insn, ignore a use that occurs after store_ruid.
+       * Makefile.in (postreload.o): Update dependencies.
+
+       * function.c (record_hard_reg_sets): Restrict the previous change
+       to cases where the incoming nominal mode is the same as the
+       incoming promoted mode and everything happens in MODE_INT.
+
+2010-07-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/45015
+       * var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero
+       ASM_OPERANDS_OUTPUT_IDX.
+       (adjust_insn): For inline asm with multiple sets ensure first
+       ASM_OPERANDS vectors are used by all following ASM_OPERANDS in
+       the insn.
+
+2010-07-21  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (setup_incoming_varargs_64): Emit a simple
+       comparison for avoiding xmm register saves.  Emit the xmm register
+       saves explicitly.
+       * config/i386/i386.md (UNSPEC_SSE_PROLOGUE_SAVE): Remove.
+       (UNSPEC_SSE_PROLOGUE_SAVE_LOW): Remove.
+       (sse_prologue_save, sse_prologue_save_insn1, sse_prologue_save_insn):
+       Remove patterns and the associated splitters.
+
+2010-07-21  Changpeng Fang  <changpeng.fang@amd.com>
+
+       * tree-ssa-loop-prefetch.c (analyze_ref): Strip off the real
+       and imagine parts of a complex, so that they can have the same
+       base and fall into the same group.
+
+2010-07-21  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/45018
+       * tree.c (find_decls_types_r): Do not follow TREE_CHAIN
+       of TYPE_DECLs.  Do not follow TYPE_NEXT_VARIANT,
+       TYPE_NEXT_PTR_TO, nor TYPE_NEXT_REF_TO or TYPE_CANONICAL.
+
+2010-07-21  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/44900
+       * tree-sra.c (load_assign_lhs_subreplacements): Updated comments.
+       (sra_modify_assign): Move gsi to the next statmenent unconditionally.
+
+2010-07-21  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR middle-end/44738
+       * tree-ssa.c (warn_uninit): Avoid emitting an unnecessary message.
+
+2010-07-21  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/45013
+       * tree-ssa.c (useless_type_conversion_p): Dispatch to
+       gimple_types_compatible_p only when in lto.
+       * gimple.c (gimple_types_compatible_p): Use canonical types
+       to speed up comparison.
+
+2010-07-21  Richard Guenther  <rguenther@suse.de>
+
+       * tree-flow.h (referenced_var): Move define ...
+       * tree-flow-inline.h (referenced_var): ... here as an inline
+       function.  Assert here ...
+       * tree-dfa.c (referenced_var_lookup): ... instead of here.
+       * tree-ssa.c (maybe_optimize_var): Check if the variable
+       is in referenced vars.
+       (execute_update_addresses_taken): Remove old broken check.
+       * gimple-pretty-print.c (pp_points_to_solution): Use
+       referenced_var_lookup.
+       * tree-into-ssa.c (dump_decl_set): Likewise.
+
+2010-07-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/45003
+       * var-tracking.c (reverse_op): Also handle {SIGN,ZERO}_EXTEND of
+       a MEM.
+       * dwarf2out.c (loc_descriptor): Don't handle SIGN_EXTEND nor
+       ZERO_EXTEND here.
+
+2010-07-20  Richard Henderson  <rth@redhat.com>
+
+       * vxworks.c (vxworks_emutls_var_fields): Pass locus to build_decls.
+
+2010-07-20  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * config/arm/arm.md (thumb1_addsi3): Add alternative and split for
+       computing the sum of the stack pointer and a large constant.
+       * config/arm/constraints.md (M): Remove superfluous parentheses.
+       (Pc): New constraint.
+
+2010-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/45006
+       * cfgexpand.c (expand_debug_expr): Only look at TYPE_UNSIGNED of
+       operand's type if exp is tcc_unary class tree.
+
+2010-07-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/rs6000/rs6000.md (abs<mode>2_isel, nabs<mode>2_isel):
+       Reverse sense of if_then_else condition.
+
+2010-07-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/rs6000/rs6000.opt (mblock-move-inline-limit): New option.
+       * config/rs6000/rs6000.c (rs6000_override_options): Set
+       rs6000_block_move_inline_limit appropriately.
+       (expand_block_move): Use rs6000_block_move_inline_limit.
+       * doc/invoke.texi (mblock-move-inline-limit): Document.
+
+2010-07-20  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * postreload.c (fixup_debug_insns): Remove arg REGNO.  New args
+       FROM and TO.  All callers changed.  Don't look for tracked uses,
+       just scan the RTL for DEBUG_INSNs and substitute.
+       (reload_combine_recognize_pattern): Call fixup_debug_insns.
+       (reload_combine): Ignore DEBUG_INSNs.
+
+2010-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * var-tracking.c (vt_expand_loc, vt_expand_loc_dummy): Bump maximum
+       depth to 8 from 5.
+
+       PR debug/45003
+       * cfgexpand.c (expand_debug_expr) <case NOP_EXPR>: Use ZERO_EXTEND
+       or SIGN_EXTEND depending on TYPE_UNSIGNED of the operand's type
+       instead of the result's type.
+
+2010-07-20  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44977
+       * tree-ssa-dom.c (propagate_rhs_into_lhs): Do not create invalid
+       SSA form.
+
+2010-07-20  Richard Guenther  <rguenther@suse.de>
+
+       * lto-symtab.c (lto_symtab_merge): Use gimple_types_compatible_p.
+       (lto_symtab_merge_decls_2): Likewise.
+       * gimple.h (gimple_types_compatible_p): Declare.
+       * gimple.c (gimple_queue_type_fixup): Remove.
+       (gimple_fixup_complete_and_incomplete_subtype_p): Likewise.
+       (gimple_compatible_complete_and_incomplete_type_p): New
+       function.
+       (gimple_types_compatible_p): Adjust.
+       (gimple_register_type): Remove type fixup code.
+       (print_gimple_types_stats): Adjust.
+       (free_gimple_type_tables): Likewise.
+       * lto-streamer-in.c (input_gimple_stmt): Use gimple_types_compatible_p.
+       * tree-ssa.c (useless_type_conversion_p): Likewise.
+
+2010-07-20  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/44971
+       PR middle-end/44988
+       * tree-ssa.c (maybe_optimize_var): New function split out from ...
+       (execute_update_addresses_taken): ... here.
+       (non_rewritable_mem_ref_base): Likewise.
+       (execute_update_addresses_taken): Do not iterate over all referenced
+       vars but just all local decls and parms.
+       Properly check call and asm arguments and rewrite call arguments.
+
+2010-07-20  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * config.gcc (LIBC_GLIBC, LIBC_UCLIBC, LIBC_BIONIC): Move constants
+       to top level.
+       * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Move Android-specific
+       definitions ...
+       * config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): ... here.
+       New macro.
+       * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Use it.
+
+2010-07-19  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * gengtype.c (start_root_entry): New function, split out from
+       write_root.  Check whether V is null and raise an error if so.
+       (write_field_root): Check for V being null.  Don't raise an error here;
+       set V to null instead.
+       (write_root): Update comment above function.  Use start_root_entry.
+
+2010-07-19  Xinliang David Li  <davidxl@google.com>
+
+       PR testsuite/44932
+       * tree-ssa-uninit.c (collect_phi_def_edges): Fix bug collecting def edges.
+       (find_uninit_use): Add dump.
+       (is_use_properly_guarded): Ditto.
+       (warn_uninitialized_phi): Ditto.
+       (execute_late_warn_uninitialized): Ditto.
+
+2010-07-19  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/44941
+       * expr.c (emit_block_move_hints): Move zero size check first.
+       Move asserts to more useful places.
+       * calls.c (load_register_parameters): Check for zero size.
+
+2010-07-19  Richard Henderson  <rth@redhat.com>
+
+       * tree-optimize.c (execute_all_early_local_passes): New.  Change
+       cgraph_state here ...
+       (execute_early_local_optimizations): ... not here.  Remove.
+       (pass_early_local_passes, pass_all_early_optimizations): Update.
+
+2010-07-19  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * postreload.c (reload_combine_closest_single_use): Ignore the
+       number of uses for DEBUG_INSNs.
+       (fixup_debug_insns): New static function.
+       (reload_combine_recognize_const_pattern): Use it.  Don't let the
+       main loop be affected by DEBUG_INSNs.
+       Really disallow moving adds past a jump insn.
+       (reload_combine_recognize_pattern): Don't update use_ruid here.
+       (reload_combine_note_use): Do it here.
+       (reload_combine): Use control_flow_insn_p rather than JUMP_P.
+
+2010-07-19  Bingfeng Mei  <bmei@broadcom.com>
+
+       * ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
+        of a loop.
+        * loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
+
+2010-07-19  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * config/i386/darwin.h: Define darwin_emit_branch_islands.
+       (TARGET_MACHO_BRANCH_ISLANDS): New.
+       (FUNCTION_PROFILER): Use TARGET_MACHO_BRANCH_ISLANDS.
+       * config/i386/i386.h (TARGET_MACHO_BRANCH_ISLANDS): Define a
+       default value.
+       * config/i386/i386.c (output_pic_addr_const): Do not emit
+       branch islands unless TARGET_MACHO_BRANCH_ISLANDS is set.
+       (x86_output_mi_thunk): Adjust symbol creation.
+       * config/rs6000/darwin.h: Define darwin_emit_branch_islands.
+       Remove out of date comment.
+       * config/rs6000/rs6000.c (print_operand): Adjust symbol.
+       DARWIN_LINKER_GENERATES_ISLANDS: Remove.
+       DARWIN_GENERATE_ISLANDS: Ditto.
+       (output_call):  Do not emit branch islands unless
+       darwin_emit_branch_islands is set.
+       * config/darwin.c: Declare darwin_emit_branch_islands.
+       (machopic_indirect_data_reference): Do not emit unless
+       darwin_emit_branch_islands is set.
+       (darwin_override_options): Set darwin_emit_branch_islands
+       where it is needed.
+       * config/darwin9.h
+       DARWIN_LINKER_GENERATES_ISLANDS: Remove.
+
+2010-07-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/sourcebuild.texi (Effective-Target Keywords): Document
+       sse_runtime, sse2_runtime.
+
+2010-07-18  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.c (mips16_build_call_stub): Zero-extend the
+       low half of a single-register SCmode return value before ORing
+       it with the high half.
+       * config/mips/mips16.S (MERGE_GPRf): Likewise.
+
+2010-07-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/44805
+       * config/pa/pa.h (CONSTANT_ALIGNMENT): Align strings to BITS_PER_WORD
+       on all targets.
+
+2010-07-17  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR target/42235
+       * postreload.c (reload_cse_move2add): Return bool, true if anything.
+       changed.  All callers changed.
+       (move2add_use_add2_insn): Likewise.
+       (move2add_use_add3_insn): Likewise.
+       (reload_cse_regs): If reload_cse_move2add changed anything, rerun
+       reload_combine.
+       (RELOAD_COMBINE_MAX_USES): Bump to 16.
+       (last_jump_ruid): New static variable.
+       (struct reg_use): New members CONTAINING_MEM and RUID.
+       (reg_state): New members ALL_OFFSETS_MATCH and REAL_STORE_RUID.
+       (reload_combine_split_one_ruid, reload_combine_split_ruids,
+       reload_combine_purge_insn_uses, reload_combine_closest_single_use
+       reload_combine_purge_reg_uses_after_ruid,
+       reload_combine_recognize_const_pattern): New static functions.
+       (reload_combine_recognize_pattern): Verify that ALL_OFFSETS_MATCH
+       is true for our reg and that we have available index regs.
+       (reload_combine_note_use): New args RUID and CONTAINING_MEM.  All
+       callers changed.  Use them to initialize fields in struct reg_use.
+       (reload_combine): Initialize last_jump_ruid.  Be careful when to
+       take PREV_INSN of the scanned insn.  Update REAL_STORE_RUID fields.
+       Call reload_combine_recognize_const_pattern.
+       (reload_combine_note_store): Update REAL_STORE_RUID field.
+
+2010-07-16  Jason Merrill  <jason@redhat.com>
+
+       * Makefile.in (opts-common.o): Depend on options.h.
+
+2010-07-16  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.c (build_common_builtin_nodes): Use build_function_type_list
+       instead of build_function_type.
+       * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
+       * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
+
+2010-07-16  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_sISEL): Let rs6000_emit_int_cmove
+       do all the work.
+       (rs6000_emit_int_cmove): Use function pointers for insn generation.
+       Don't force values into registers unnecessarily.
+       (output_isel): Assert that we're not given conditions we can't handle.
+       Delete corresponding code.
+       * config/rs6000/rs6000.md (isel_signed_<mode>): Use
+       scc_comparison_operator constraint.  Permit 0 for the consequent
+       operand.  Permit any GPR for the alternative operand.
+       (isel_unsigned_<mode>): Likewise.
+
+2010-07-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/44942
+       * config/i386/i386-protos.h (ix86_function_arg_boundary): Change second
+       argument to const_tree.
+       * config/i386/i386.c (function_arg_advance): If padding needs to be
+       inserted before argument, increment cum->words by number of padding
+       words as well.
+       (contains_aligned_value_p): Change argument to const_tree.
+       (ix86_function_arg_boundary): Change second argument to const_tree.
+
+2010-07-16  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR target/42235
+       * function.c (record_hard_reg_sets): New static function.
+       (assign_parm_setup_reg): If an optab for extending exists and the
+       generated code clobbbers no hard regs, emit the insn directly and
+       create a REG_EQUIV note.
+
+2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * c-decl.c (detect_field_duplicates): Use DECL_CHAIN insted of
+       TREE_CHAIN.
+       * c-typeck.c (push_init_level): Likewise.
+       (process_init_element): Likewise.
+
+2010-07-15  Anatoly Sokolov  <aesok@post.ru>
+
+       * tree.h (enum tree_index): Add TI_INTEGER_THREE.
+       (integer_three_node): Add.
+       * tree.c (build_common_tree_nodes_2): Use integer_type_node insead of
+       NULL_TREE in build_int_cst calls. Initialize the integer_three_node.
+       * builtins.c (expand_builtin_prefetch): Use common tree nodes instead
+       of call build_int_cst.
+       * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Ditto.
+       * tree-ssa-loop-ivopts.c (idx_find_step): Ditto.
+       (find_interesting_uses_address): Ditto.
+       * tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Ditto.
+       * tree-eh.c (lower_eh_constructs_2): Ditto.
+       * tree-vect-loop.c (get_initial_def_for_induction): Ditto.
+       * c-typeck.c (really_start_incremental_init, push_init_level): Ditto.
+       * expmed.c (expand_divmod): Ditto.
+       * tree-mudflap.c (mx_register_decls): Ditto.
+       * varasm.c (array_size_for_constructor): Ditto.
+       * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
+       * c-parser.c (c_parser_postfix_expression): Ditto.
+
+2010-07-15  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * postreload.c (last_label_ruid, first_index_reg, last_index_reg):
+       New static variables.
+       (reload_combine_recognize_pattern): New static function, broken out
+       of reload_combine.
+       (reload_combine): Use it.  Only initialize first_index_reg and
+       last_index_reg once.
+
+2010-07-15  Richard Henderson  <rth@redhat.com>
+
+       * cgraphunit.c (cgraph_build_static_cdtor): Clear current_function_decl
+       when done.
+
+2010-07-15  Jan Hubicka  <jh@suse.cz>
+
+       * lto-symtab.c (lto_symtab_resolve_symbols): Remove hack handling comdats
+       for broken gold.
+       (lto_sy mtab_merge_decls_1): Set used_from_object_file correctly. 
+
+2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (TREE_RTL_OPERAND_CHECK): Delete.
+
+2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (DECL_CHAIN): Define.
+       * alias.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
+       * c-decl.c: Likewise.
+       * c-parser.c: Likewise.
+       * c-typeck.c: Likewise.
+       * cfgexpand.c: Likewise.
+       * cgraph.c: Likewise.
+       * cgraphunit.c: Likewise.
+       * combine.c: Likewise.
+       * config/alpha/alpha.c: Likewise.
+       * config/arm/arm.c: Likewise.
+       * config/frv/frv.c: Likewise.
+       * config/i386/i386.c: Likewise.
+       * config/i386/winnt-cxx.c: Likewise.
+       * config/ia64/ia64.c: Likewise.
+       * config/iq2000/iq2000.c: Likewise.
+       * config/mep/mep.c: Likewise.
+       * config/mips/mips.c: Likewise.
+       * config/pa/som.h: Likewise.
+       * config/rs6000/rs6000.c: Likewise.
+       * config/s390/s390.c: Likewise.
+       * config/sh/sh.c: Likewise.
+       * config/sh/symbian-cxx.c: Likewise.
+       * config/sparc/sparc.c: Likewise.
+       * config/spu/spu.c: Likewise.
+       * config/stormy16/stormy16.c: Likewise.
+       * config/vxworks.c: Likewise.
+       * config/xtensa/xtensa.c: Likewise.
+       * coverage.c: Likewise.
+       * dbxout.c: Likewise.
+       * dwarf2out.c: Likewise.
+       * emit-rtl.c: Likewise.
+       * expr.c: Likewise.
+       * function.c: Likewise.
+       * gimple-low.c: Likewise.
+       * gimple-pretty-print.c: Likewise.
+       * gimplify.c: Likewise.
+       * integrate.c: Likewise.
+       * ipa-inline.c: Likewise.
+       * ipa-prop.c: Likewise.
+       * ipa-split.c: Likewise.
+       * ipa-struct-reorg.c: Likewise.
+       * ipa-type-escape.c: Likewise.
+       * langhooks.c: Likewise.
+       * lto-cgraph.c: Likewise.
+       * omp-low.c: Likewise.
+       * stor-layout.c: Likewise.
+       * tree-cfg.c: Likewise.
+       * tree-complex.c: Likewise.
+       * tree-dfa.c: Likewise.
+       * tree-dump.c: Likewise.
+       * tree-inline.c: Likewise.
+       * tree-mudflap.c: Likewise.
+       * tree-nested.c: Likewise.
+       * tree-object-size.c: Likewise.
+       * tree-pretty-print.c: Likewise.
+       * tree-sra.c: Likewise.
+       * tree-ssa-live.c: Likewise.
+       * tree-ssa-loop-niter.c: Likewise.
+       * tree-ssa-math-opts.c: Likewise.
+       * tree-ssa-reassoc.c: Likewise.
+       * tree-ssa-sccvn.c: Likewise.
+       * tree-ssa-structalias.c: Likewise.
+       * tree-tailcall.c: Likewise.
+       * tree-vrp.c: Likewise.
+       * tree.c: Likewise.
+       * var-tracking.c: Likewise.
+       * varasm.c: Likewise.
+
+2010-07-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       PR target/44877
+       * config/spu/spu.c (spu_expand_builtin_1): Allow references
+       (as well as pointers) as argument to mask_for_load builtins.
+
+2010-07-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44946
+       * tree-ssa-structalias.c (get_constraint_for_component_ref): Deal
+       with accessing only padding properly.
+
+2010-07-15  Jan Hubicka  <jh@suse.cz>
+
+       * ipa.c (function_and_variable_visibility): Variables marked as used
+       should not be localized.
+
+2010-07-15  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c: Include lto-streamer.h
+       (change_decl_assembler_name): Work when assembler name hash is at place.
+       (cgraph_make_decl_local): When localizing COMDAT symbol at WPA stage, be
+       sure to rename it to avoid name clash.
+       * ipa.c (cgraph_externally_visible_p, function_and_variable_visibility):
+       Localize hidden symbols only when locally defined.
+
+2010-07-15  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (SHIFT_COUNT_TRUNCATED): Expand comment.
+
+2010-07-15  Magnus Granberg  <zorry@gentoo.org>
+           Kevin F. Quinn  <kevquinn@gentoo.org>
+
+       * builtins.c (expand_builtin_init_trampoline): Warn for -Wtrampolines.
+       * common.opt: Add -Wtrampolines.
+       * doc/invoke.texi: Add -Wtrampolines.
+
+2010-07-15  Jie Zhang  <jie@codesourcery.com>
+
+       * config/arm/cortex-a8.md (cortex_a8_load_store_2): Reserve
+       cortex_a8_issue_ls.
+
+2010-07-15  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       * config/i386/cygwin.h (LIBGCJ_SONAME): Update.
+       * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
+
+2010-07-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/spu.c (reg_names): Remove prototype.
+       (call_used_regs): Likewise.
+
+2010-07-14  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       * config/i386/cygming-crtend.c (__FRAME_END__): Replace attribute
+       "unused" with attribute "used".
+       (__JCR_END__): Likewise.
+       * config/i386/cygming-crtbegin.c (__EH_FRAME_BEGIN__): Add missing
+       "used" attribute.
+       (__JCR_LIST__): Replace attribute "unused" with attribute "used".
+
+2010-07-14  Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer-in.c (maybe_fixup_handled_component): Remove.
+       (maybe_fixup_decls): Likewise.
+       (input_gimple_stmt): Do not fixup anything.
+       * lto-streamer-out.c (output_gimple_stmt): Make sure all
+       non-automatic variable uses are wrapped inside a MEM_REF.
+
+2010-07-14  Richard Henderson  <rth@redhat.com>
+
+       * passes.c (rest_of_decl_compilation): Do not call assemble_variable
+       for functions.
+       * varasm.c (assemble_variable): Remove early exit for functions;
+       assert that we're given a variable.
+
+2010-07-14  Jie Zhang  <jie@codesourcery.com>
+
+       * config/arm/cortex-a8.md (cortex_a8_alu): Don't use
+       cortex_a8_default when neon_type is not none.
+
+2010-07-14  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * lower-subreg.c (subreg_context): New static bitmap.
+       (decompose_multiword_subregs): Allocate and free it.
+       (find_decomposable_subregs): Set a bit in it for a register that
+       occurs in a subreg that changes mode but not size.
+       (can_decompose_p): Test it instead of non_decomposable_context.
+
+2010-07-14  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44824
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Use
+       is_gimple_mem_ref_addr.
+       (tree_ssa_forward_propagate_single_use_vars): Do not propagate
+       non-decl_address_invariant_p addresses.
+
+2010-07-14  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * reload.c (find_reloads): Revert code to penalize small register
+       classes that was brought in with the IRA merge.
+
+2010-07-14  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle MEM_REF
+       as base of ARRAY_REFs.
+
+2010-07-14  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/44930
+       * tree-pretty-print.c (do_niy): Do not print a newline.
+
+2010-07-14  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * ira-int.h (struct ira_object): New.
+       (ira_object_t): New typedef.  Add DEF_VEC_P and DEF_VEC_ALLOC_P for it.
+       (struct ira_allocno): Remove members min, max,
+       conflict_allocno_array, conflict_id, conflict_allocno_array_size,
+       conflict_allocnos_num and conflict_vec_p.  Add new member object.
+       (OBJECT_CONFLICT_ARRAY, OBJECT_CONFLICT_VEC_P,
+       OBJECT_NUM_CONFLICTS, OBJECT_CONFLICT_ARRAY_SIZE,
+       OBJECT_CONFLICT_HARD_REGS, OBJECT_TOTAL_CONFLICT_HARD_REGS,
+       OBJECT_MIN, OBJECT_MAX, OBJECT_CONFLICT_ID): Renamed from
+       ALLOCNO_CONFLICT_ALLOCNO_ARRAY, ALLOCNO_CONFLICT_VEC_P,
+       ALLOCNO_CONFLICT_ALLOCNOS_NUM, ALLOCNO_CONFLICT_ALLOCNO_ARRAY_SIZE,
+       ALLOCNO_CONFLICT_HARD_REGS, ALLOCNO_TOTAL_CONFLICT_HARD_REGS)
+       ALLOCNO_MIN, ALLOCNO_MAX, and ALLOCNO_CONFLICT_ID; now operate on
+       an ira_object_t rather than ira_allocno_t.  All uses changed.
+       (ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
+       contains a vector of ira_object_t; all uses changed.
+       (ira_objects_num): Declare variable.
+       (ira_create_allocno_object): Declare function.
+       (ira_conflict_vector_profitable_p): Adjust prototype.
+       (ira_allocate_conflict_vec): Renamed from
+       ira_allocate_allocno_conflict_vec; first arg now ira_object_t.
+       (ira_allocate_object_conflicts): Renamed from
+       ira_allocate_allocno_conflicts; first arg now ira_object_t.
+       (struct ira_object_iterator): New.
+       (ira_object_iter_init, ira_object_iter_cond, FOR_EACH_OBJECT): New.
+       (ira_allocno_conflict_iterator): Renamed member allocno_conflict_vec_p
+       to conflict_vec_p.  All uses changed.
+       (ira_allocno_conflict_iter_init, ira_allocno_conflict_iter_cond):
+       Changed to take into account that conflicts are now tracked for
+       objects.
+       * ira-conflicts.c (OBJECTS_CONFLICT_P): Renamed from CONFLICT_ALLOCNO_P.
+       Args changed to accept ira_object_t.  All uses changed.
+       (allocnos_conflict_p): New static function.
+       (collected_conflict_objects): Renamed from collected_allocno_objects;
+       now a vector of ira_object_t.  All uses changed.
+       (build_conflict_bit_table): Changed to take into account that
+       conflicts are now tracked for objects.
+       (process_regs_for_copy, propagate_copies, build_allocno_conflicts)
+       (print_allocno_conflicts, ira_build_conflicts): Likewise.
+       * ira-color.c (assign_hard_reg, setup_allocno_available_regs_num)
+       setup_allocno_left_conflicts_size, allocno_reload_assign,
+       fast_allocation): Likewise.
+       * ira-lives.c (make_hard_regno_born, make_allocno_born)
+       process_single_reg_class_operands, process_bb_node_lives): Likewise.
+       * ira-emit.c (modify_move_list, add_range_and_copies_from_move_list):
+       Likewise.
+       * ira-build.c (ira_objects_num): New variable.
+       (ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
+       contains a vector of ira_object_t; all uses changed.
+       (ira_object_id_map_vec): Corresponding change.
+       (object_pool): New static variable.
+       (initiate_allocnos): Initialize it.
+       (finish_allocnos): Free it.
+       (ira_create_object, ira_create_allocno_object, create_allocno_objects):
+       New functions.
+       (ira_create_allocno): Don't set members that were removed.
+       (ira_set_allocno_cover_class): Don't change conflict hard regs.
+       (merge_hard_reg_conflicts): Changed to take into account that
+       conflicts are now tracked for objects.
+       (ira_conflict_vector_profitable_p, ira_allocate_conflict_vec,
+       allocate_conflict_bit_vec, ira_allocate_object_conflicts,
+       compress_conflict_vecs, remove_low_level_allocnos, ira_flattening,
+       setup_min_max_allocno_live_range_point, allocno_range_compare_func,
+       setup_min_max_conflict_allocno_ids, ):  Likewise.
+       (add_to_conflicts): Renamed from add_to_allocno_conflicts, args changed
+       to ira_object_t; all callers changed.
+       (ira_add_conflict): Renamed from ira_add_allocno_conflict, args changed
+       to ira_object_t, all callers changed.
+       (clear_conflicts): Renamed from clear_allocno_conflicts, arg changed
+       to ira_object_t, all callers changed.
+       (conflict_check, curr_conflict_check_tick): Renamed from
+       allocno_conflict_check and curr_allocno_conflict_check_tick; all uses
+       changed.
+       (compress_conflict_vec): Renamed from compress_allocno_conflict_vec,
+       arg changed to ira_object_t, all callers changed.
+       (create_cap_allocno): Call ira_create_allocno_object.
+       (finish_allocno): Free the corresponding object.
+       (sort_conflict_id_map): Renamed from sort_conflict_id_allocno_map; all
+       callers changed.  Adjusted for dealing with objects.
+       (ira_build): Call create_allocno_objects after ira_costs.  Adjusted for
+       dealing with objects.
+       * ira.c (ira_bad_reload_regno_1): Adjusted for dealing with objects.
+
+       * ira-int.h (struct live_range): Rename allocno member to object
+       and change type to ira_object_t.
+       (struct ira_object): New member live_ranges.
+       (struct ira_allocno): Remove member live_ranges.
+       (ALLOCNO_LIVE_RANGES): Remove.
+       (OBJECT_LIVE_RANGES): New macro.
+       (ira_create_live_range, ira_copy_live_range_list,
+       ira_merge_live_range_list, ira_live_ranges_intersect_p,
+       ira_finish_live_range, ira_finish_live_range_list): Adjust declarations.
+       * ira-build.c (ira_create_object): Initialize live ranges here.
+       (ira_create_allocno): Not here.
+       (ira_create_live_range): Rename from ira_create_allocno_live_range, arg
+       changed to ira_object_t, all callers changed.
+       (copy_live_range): Rename from copy_allocno_live_range, all callers
+       changed.
+       (ira_copy_live_range_list): Rename from
+       ira_copy_allocno_live_range_list, all callers changed.
+       (ira_merge_live_ranges): Rename from ira_merge_allocno_live_range_list,
+       all callers changed.
+       (ira_live_ranges_intersect_p): Rename from
+       ira_allocno_live_ranges_intersect_p, all callers changed.
+       (ira_finish_live_range): Rename from ira_finish_allocno_live_range, all
+       callers changed.
+       (ira_finish_live_range_list): Rename from
+       ira_finish_allocno_live_range_list, all callers changed.
+       (change_object_in_range_list): Rename from change_allocno_in_range_list,
+       last arg changed to ira_object_t, all callers changed.
+       (finish_allocno): Changed to expect live ranges in the allocno's object.
+       (move_allocno_live_ranges, copy_allocno_live_ranges,
+       update_bad_spill_attribute, setup_min_max_allocno_live_range_point,
+       ira_flattening, ira_build): Likewise.
+       * ira-color.c (allocnos_have_intersected_live_ranges_p,
+       slot_coalesced_allocno_live_ranges_intersect,
+       setup_slot_coalesced_allocno_live_ranges, fast_allocation): Likewise.
+       * ira-conflicts.c (build_conflict_bit_table): Likewise.
+       * ira-emit.c (add_range_and_copies_from_move_list): Likewise.
+       * ira-lives.c (make_allocno_born, update_allocno_pressure_excess_length,
+       make_allocno_dead, create_start_finish_chains,
+       remove_some_program_points_and_update_live_ranges,
+       ira_debug_live_range_list): Likewise.
+
+       * ira-int.h (ira_object_conflict_iterator): Rename from
+       ira_allocno_conflict_iterator.
+       (ira_object_conflict_iter_init): Rename from
+       ira_allocno_conflict_iter_init, second arg changed to
+       * ira.c (check_allocation): Use FOR_EACH_OBJECT_CONFLICT rather than
+       FOR_EACH_ALLOCNO_CONFLICT.
+       * ira-color.c (assign_hard_reg, push_allocno_to_stack)
+       setup_allocno_left_conflicts_size, coalesced_allocno_conflict_p,
+       ira_reassign_conflict_allocnos, ira_reassign_pseudos): Likewise.
+       * ira-conflicts.c (print_allocno_conflicts): Likewise.
+
+2010-07-13  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       PR other/44874
+       * tree-dump.c (dump_options): Add enumerate_locals entry.
+       Add TDF_NOID exclusion to all entry.
+       * tree-dump.h (dump_enumerated_decls): Declare.
+       * tree-pretty-print.c (dump_generic_node): For TDF_NOID,
+       Don't display type uid.
+       (print_declaration): Don't crash on TREE_TYPE (t) == 0.
+       * tree-pass.h (TDF_ENUMERATE_LOCALS): Define.
+       * tree-ssa-live.c: Include gimple.h.
+       (numbered_tree_d): New struct.
+       (numbered_tree): New typedef.
+       (DEF_VEC_O (numbered_tree): New.
+       (DEF_VEC_ALLOC_O (numbered_tree, heap)): Likewise.
+       (compare_decls_by_uid, dump_enumerated_decls_push): New functions.
+       (dump_enumerated_decls): Likewise.
+       * tree-optimize.c (execute_cleanup_cfg_post_optimizing): If comparing
+       debug info and flag_dump_final_insns, call dump_enumerated_decls.
+       * tree-cfg.c (dump_function_to_file): Call dump_enumerated_decls.
+       * Makefile.in (tree-ssa-live.o): Depend on $(GIMPLE_H).
+
+2010-07-13  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * expmed.h (MAX_BITS_PER_WORD): Move to...
+       * defaults.h (MAX_BITS_PER_WORD): ...here.
+
+2010-07-13  DJ Delorie  <dj@redhat.com>
+
+       * config/h8300/h8300.c (h8300_init_once): Default to
+       -fstrict_volatile_bitfields.
+
+       * config/sh/sh.c (sh_override_options): Default to
+       -fstrict_volatile_bitfields.
+
+       * config/rx/rx.c (rx_option_override): New.
+
+       * config/m32c/m32c.c (m32c_override_options): Default to
+       -fstrict_volatile_bitfields.
+
+2010-07-13  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (build_function_call_expr): Delete.
+       (build_call_expr_loc_array): New function.
+       (build_call_expr_loc_vec): New function.
+       * tree-flow.h (struct omp_region): Change type of ws_args field
+       to a VEC.
+       * builtins.c (build_function_call_expr): Delete.
+       (build_call_expr_loc_array): New function.
+       (build_call_expr_loc): Call it.  Use XALLOCAVEC.
+       (build_call_expr): Likewise.
+       (build_call_expr_loc_vec): New function.
+       * cgraphunit.c (build_cdtor): Call build_call_expr instead of
+       build_function_call_expr.
+       * expr.c (emutls_var_address): Likewise.
+       * varasm.c (emutls_common_1): Likewise.
+       * omp-low.c (expand_omp_atomic_mutex): Likewise.
+       (expand_omp_taskreg): Adjust for new type of region->ws_args.
+       (get_ws_args_for): Return a VEC instead of a tree.
+       (expand_parallel_call): Call build_call_expr_loc_vec instead of
+       build_function_call_expr.
+       * stor-layout.c (self_referential_size): Likewise.
+
+2010-07-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/44701
+       * recog.c (constrain_operands): Allow side-effects in memory
+       operands if either < or > constraint is used, rather than if
+       both < and > is used.
+
+2010-07-13  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/44911
+       * tree-pretty-print.c (dump_generic_node): Use TDF_SLIM for
+       MEM_REF pointer type dumping.  Avoid recursing for TYPE_DECLs
+       without name.
+
+2010-07-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/44761
+       * mode-switching.c (optimize_mode_switching): Add ATTRIBUTE_UNUSED
+       to variable emited.
+       * config/sh/sh.c (sh_expand_epilogue): Remove unused variable.
+       * config/sh/sh.md (symGOT_load): Likewise.
+       (symDTPOFF2reg): Likewise.
+       (symTPOFF2reg): Likewise.
+
+2010-07-13  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       * expmed.c (MAX_BITS_PER_WORD): Moved to expmed.h.
+       * expmed.h (MAX_BITS_PER_WORD): Moved from expmed.c.
+
+2010-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct
+       explanation.
+       Find ucontext_t * on Solaris 11.
+       (x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern.
+       Handle new Solaris 11 __sighndlr patterns.
+
+2010-07-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/44901
+       * vec.h (VEC_block_remove): Fix comment.
+       * tree-ssa-live.c (remove_unused_locals): Don't use
+       VEC_unordered_remove on local_decls, instead replace a single
+       vector element in each iteration if at least one element had
+       to be removed and VEC_truncate at the end.
+       * omp-low.c (expand_omp_taskreg): Likewise.
+
+2010-07-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * c-decl.c (finish_function): Fix typo in comment.
+       
 2010-07-12  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR bootstrap/44921
        (can_copy_p): Remove can_copy_init_p.
        * target-globals.h (this_target_gcse): Declare.
        (target_globals): Add a gcse field.
-       (restore_target_globals): Copy the gcse field to
-       this_target_gcse.
+       (restore_target_globals): Copy the gcse field to this_target_gcse.
        * target-globals.c: Include gcse.h.
        (default_target_globals): Initialize the gcse field.
        (save_target_globals): Likewise.
 
 2010-07-12  Richard Sandiford  <rdsandiford@googlemail.com>
 
-       * regs.h (target_regs): Add x_hard_regs_of_mode, x_contains_reg_of_mode,
-       x_move_cost, x_may_move_in_cost, x_may_move_out_cost and
-       x_last_mode_for_init_move_cost.
+       * regs.h (target_regs): Add x_hard_regs_of_mode,
+       x_contains_reg_of_mode, x_move_cost, x_may_move_in_cost,
+       x_may_move_out_cost and x_last_mode_for_init_move_cost.
        (have_regs_of_mode, contains_reg_of_mode, move_cost)
        (may_move_in_cost, may_move_out_cost): Redefine as macros.
        * reginfo.c (have_regs_of_mode, contains_reg_of_mode, move_cost)