OSDN Git Service

* config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b6ea293..7440bce 100644 (file)
@@ -1,5 +1,518 @@
+2010-02-02  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
+       constant size of 4 as being the same as 0.
+       * doc/invoke.texi (RX Options): Document that -mmax-constant-size
+       can take values in the range 0..4.
+
+2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       PR java/41991
+       * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
+       as _darwin10_Unwind_FindEnclosingFunction().
+       * libgcc-libsystem.ver: New.
+
+2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/41399
+       * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
+       implicitly set registers.
+
+2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
+       (arm_override_options): Allow automatic selection of the thread
+       pointer register if thumb2.
+       (legitimize_pic_address): Improve code sequences for Thumb2.
+       (arm_call_tls_get_addr): Likewise.
+       (legitimize_tls_address): Likewise.
+       * arm.md (pic_load_addr_arm): Delete.  Replace with ...
+       (pic_load_addr_32bit): ... this.  New named pattern.
+       * thumb2.md (pic_load_addr_thumb2): Delete.
+       (pic_load_dot_plus_four): Delete.
+       (tls_load_dot_plus_four): New named pattern.
+
+2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR libgomp/29986
+       * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
+       Document fix for TLS bug.
+
+2010-01-31  Richard Guenther  <rguenther@suse.de>
+
+       * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
+       conservatively correct.
+
+2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/42850
+       Revert:
+       2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
+
+2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
+
+2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config.gcc: Adjust order of makefile fragments for mingw targets.
+
+2010-01-31  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42898
+       * gimplify.c (gimplify_init_constructor): For volatile LHS
+       initialize a temporary.
+
+2010-01-31  Matthias Klose  <doko@ubuntu.com>
+
+       * configure.ac: Fix __stack_chk_fail check for cross builds configured
+       --with-headers
+       * configure: Regenerate.
+
+2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
+       the same alias set and their sizes different constantness.
+       (aliasing_component_refs_p): Revert 2009-10-24 change.
+
+2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
+       unused.
+
+2010-01-29  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
+       Assert we successfully updated the call.
+
+2010-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/42889
+       * df.h (df_set_bb_dirty_nonlr): New prototype.
+       * df-core.c (df_set_bb_dirty_nonlr): New function.
+       * df-scan.c (df_insn_rescan): Call it instead of
+       df_set_bb_dirty for DEBUG_INSNs.
+
+2010-01-29  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/37448
+       * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
+       quadratic behavior in most cases.
+
+2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/42891
+       * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
+       in the call to gen_x86_movsicc_0_m1.
+
+2010-01-28  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42871
+       * tree-ssa-pre.c (phi_translate_set): Make sure to retain
+       leaders.
+
+2010-01-28  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
+       into call arguments.
+
+2010-01-28  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42883
+       * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
+       the forwarder if the destination is an EH landing pad.
+
+2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
+
+       * tree-parloops.c (transform_to_exit_first_loop): Update the basic
+       block list passed to gimple_duplicate_sese_tail.
+       (parallelize_loops): Avoid parallelization when the function
+       has_nonlocal_label.
+       Avoid parallelization when the preheader is IRREDUCIBLE.
+       Try to optimize when estimated_loop_iterations_int is unresolved.
+       Add the loop's location to the dump file.
+       * tree-cfg.c (add_phi_args_after_redirect): Remove.
+       (gimple_duplicate_sese_tail): Remove the check for the latch.
+       Redirect nexits to the exit block.
+       Remove handling of the incoming edges to the latch.
+       Redirect the backedge from the copied latch to the exit bb.
+
+2010-01-28  Michael Matz  <matz@suse.de>
+
+       PR target/42881
+       * config/i386/i386.c (ix86_expand_vector_init_duplicate):
+       Wrap force_reg into a sequence, emit it before user.
+
+2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
+
+       * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
+       (arm_rev): New.
+       (arm_legacy_rev): Likewise.
+       (thumb_legacy_rev): Likewise.
+
+2010-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (mem_loc_descriptor): Remove special casing of
+       CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
+       on MEM's address failed, try avoid_constant_pool_reference and
+       recurse if it returned something different.
+       (loc_descriptor): If for MEM mem_loc_descriptor failed on the
+       address, try avoid_constant_pool_reference and recurse if it
+       returned something different.
+       (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
+       address and avoid_constant_pool_reference returned something
+       different, don't set have_address.
+
+2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42861
+       * var-tracking.c (val_store): Add modified argument, obey it.
+       Adjust callers.
+       (count_uses): Move down logging of main.
+       (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
+       don't need resolution.
+       (emit_notes_in_bb): Likewise.
+
+2010-01-27  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42878
+       * tree-inline.c (remap_decl): Delay remapping of SSA name
+       default definitions until we need them.
+
+2010-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
+       (rs6000_delegitimize_address): New function.
+
+       * config/s390/s390.c (s390_delegitimize_address): Call
+       delegitimize_mem_from_attrs.
+
+       PR middle-end/42874
+       * tree-inline.c (cannot_copy_type_1): Removed.
+       (copy_forbidden): Don't forbid copying of functions containing
+       records/unions with variable length fields.
+
+2010-01-27  Christian Bruel  <christian.bruel@st.com>
+
+       Revert:
+       PR target/42841
+       * config/sh/sh.c (find_barrier): Increase length for non delayed
+       conditional branches.
+
+2010-01-27  Matthias Klose  <doko@ubuntu.com>
+
+       * configure.ac (gnu-unique-object): Fix ldd version check.
+       * configure: Regenerate.
+
+2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
+       HAVE_GNU_AS value.
+       * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
+       Test for HAVE_GNU_AS value.
+
+2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
+       * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
+       INT64_TYPE): Define.
+       (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
+       (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
+       INT_LEAST64_TYPE): Define.
+       (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
+       UINT_LEAST64_TYPE): Define.
+       (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
+       INT_FAST64_TYPE): Define.
+       (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
+       UINT_FAST64_TYPE): Define.
+       (INTMAX_TYPE, UINTMAX_TYPE): Define.
+       (INTPTR_TYPE, UINTPTR_TYPE): Define.
+       (SIG_ATOMIC_TYPE): Define.
+
+2010-01-26  Richard Guenther  <rguenther@suse.de>
+
+       * df-scan.c (df_scan_set_bb_info): Remove assert.
+       (df_insn_rescan_debug_internal): Merge asserts.
+       (df_install_ref): Likewise.
+       (df_mark_reg): Use bitmap_set_range.
+       (df_hard_reg_used_p): Remove assert.
+       (df_hard_reg_used_count): Likewise.
+
+2010-01-26  Richard Guenther  <rguenther@suse.de>
+
+       PR rtl-optimization/42685
+       * web.c (web_main): Ignore DEBUG_INSNs.
+
+2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
+
+       * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
+
+       (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
+       Fix types of fndecl and arglist parameters.
+
+2010-01-26  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42806
+       * tree-eh.c (unsplit_eh): Skip debug insns.
+
+2010-01-26  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42250
+       * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
+
+2010-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/42866
+       * omp-low.c (expand_omp_sections): Only use single_pred if
+       l2_bb is single_pred_p.
+
+2010-01-25  Christian Bruel  <christian.bruel@st.com>
+
+       PR target/42841
+       * config/sh/sh.c (find_barrier): Increase length for non delayed
+       conditional branches.
+       (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
+
+2010-01-24  David S. Miller  <davem@davemloft.net>
+
+       * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
+       define if not using GAS.
+       * config/sparc/sparc.c (sparc_elf_asm_named_section):
+       Likewise.  Delete SECTION_MERGE code, which is only applicable
+       when using GAS.
+
+2010-01-24  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/42748
+       * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
+       mangling of va_list in system headers.
+
+2010-01-23  Toon Moene  <toon@moene.org>
+
+       * tree-predcom.c (combine_chains): Return NULL, not false.
+
+2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
+
+       * tree-loop-distribution.c (distribute_loop): Fix declaration and
+       initialization of variable res to agree with return type.
+
+2010-01-22  Steve Ellcey  <sje@cup.hp.com>
+
+       * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
+       * tree-sra.c: Add include of expr.h.
+
+2010-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
+       insert the debug stmt on the single non-EH edge from the stmt.
+
+2010-01-22  Richard Henderson  <rth@redhat.com>
+
+       PR tree-opt/42833
+       * tree-sra.c (sra_modify_assign): Delay re-gimplification of
+       the RHS until after generate_subtree_copies has insertted its
+       code before the current statement.
+
+2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
+
+       * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
+
+       * gcc-plugin.h (plugin_init): Use "C" likage for c++.
+
+2010-01-21  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/42585
+       * tree-sra.c (struct access): New field grp_total_scalarization.
+       (dump_access): Dump the new field.
+       (should_scalarize_away_bitmap): New variable.
+       (cannot_scalarize_away_bitmap): Likewise.
+       (sra_initialize): Allocate new bitmaps.
+       (sra_deinitialize): Free new bitmaps.
+       (create_access_1): New function.
+       (create_access): Parts moved to create_access_1.
+       (type_consists_of_records_p): New function.
+       (completely_scalarize_record): Likewise.
+       (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
+       (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
+       (sort_and_splice_var_accesses): Hint groups with a total_scalarization
+       access.
+       (analyze_all_variable_accesses): Completely scalarize small eligible
+       records.
+
+2010-01-21  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
+
+2010-01-21  Andrew Haley  <aph@redhat.com>
+
+       * gcc.c (process_command): Move lang_specific_driver before
+       setting cc_libexec_prefix.
+
+2010-01-21  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/19988
+       * fold-const.c (negate_expr_p): Pretend only negative
+       real constants are easily negatable.
+
+2010-01-20  Janis Johnson  <janis187@us.ibm.com>
+           Jason Merrill  <jason@redhat.com>
+
+       * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
+       (TYPE_TRANSPARENT_AGGR): this, for union and record.
+       * calls.c (initialize argument_information): Handle it.
+       * c-common.c (handle_transparent_union_attribute): Use new name.
+       * c-decl.c (finish_struct): Ditto.
+       * c-typeck.c (type_lists_compatible_p): Ditto.
+       (convert_for_assignment): Use new name and also handle record.
+       * function.c (aggregate_value_p): Handle it.
+       (pass_by_reference): Ditto.
+       (assign_parm_data_types): Ditto.
+       * print-tree.c (print_node): Ditto.
+       * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
+       * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
+       * tree.c (first_field): New fn.
+
+2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR target/42818
+       * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
+       even when linking statically, for now.
+
+2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42715
+       * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
+       without a cselib val.
+       (count_uses): Accept MO_VAL_SET with no val on stores.
+       (add_stores): Likewise.
+
+2010-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * var-tracking.c (check_value_val): Add a compile time assertion.
+       (dv_is_decl_p): Simplify.
+       (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
+       gcc_assert if ENABLE_CHECKING.
+
+2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42782
+       * var-tracking.c: Include tree-flow.h.
+       (mem_dies_at_call): New.
+       (dataflow_set_preserve_mem_locs): Use it.
+       (dataflow_set_remove_mem_locs): Likewise.
+       (dump_var): Renamed from dump_variable.  Adjust all callers.
+       (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
+       * Makefile.in (var-tracking.o): Adjust deps.
+
+2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
+
+       * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
+
+2010-01-20  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42717
+       * tree-ssa-dce.c (get_live_post_dom): Remove.
+       (forward_edge_to_pdom): Take an arbitrary edge to copy
+       degenerate PHI args from.
+       (remove_dead_stmt): Use the first post-dominator even if it
+       does not contain live statements as redirection destination.
+
+2010-01-20  Richard Guenther  <rguenther@suse.de>
+
+       * tree-inline.c (estimate_num_insns): Handle EH builtins.
+
+2010-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * sel-sched.c (create_speculation_check): Remove set but not used
+       variable twin.
+       (try_transformation_cache): Remove set but not used variable ds.
+       (calculate_privileged_insns): Remove set but not used variables
+       cur_insn and min_spec_insn.
+       (find_best_expr): Remove set but not used variable avail_n.
+       * tree-predcom.c (base_names_in_chain_on): Remove set but not used
+       variable e.
+       * cgraphunit.c (assemble_thunk): Remove set but not used variable
+       false_label.
+       * haifa-sched.c (remove_notes): Remove set but not used variable prev.
+       * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
+       new_scop_exit_edge.
+
+2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
+
+       PR bootstrap/42786
+       * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
+       cpu types.  Add support for *-sse3 cpu types.
+       (x86_64-*-*): Ditto.
+
+2010-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/42803
+       * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
+       argument, call initializer_constant_valid_p_1 instead of
+       initializer_constant_valid_p, pass CACHE to it, return NULL
+       immediately if first call returns NULL.
+       (initializer_constant_valid_p_1): New function.
+       (initializer_constant_valid_p): Use it.
+
+2010-01-20  Thomas Quinot  <quinot@adacore.com>
+
+       * tree.def (PLACEHOLDER_EXPR): Fix comment.
+
+2010-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
+       of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
+       (loc_list_from_tree): Don't handle unsigned division.  Handle
+       signed modulo using DW_OP_{over,over,div,mul,minus}.
+       * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
+       modulo instead of signed.
+
+2010-01-20  DJ Delorie  <dj@redhat.com>
+
+       * config/h8300/h8300.c (F): Add "in_epilogue" flag.
+       (Fpa): Pass it
+       (h8300_emit_stack_adjustment): Propogate it.
+       (push): Pass it.
+       (h8300_expand_prologue): Likewise.
+       (h8300_expand_epilogue): Likewise.
+
+2010-01-19  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/41783
+       * tree-data-ref.c (toplevel): Include flags.h.
+       (dump_data_dependence_relation):  Also dump the inputs if the
+       result will be unknown.
+       (split_constant_offset_1): Look through some conversions.
+       * tree-predcom.c (determine_roots_comp): Restart a new chain if
+       the offset from last element is too large.
+       (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
+       (reassociate_to_the_same_stmt): Handle vector registers.
+       * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
+       (e.g. conversions).
+       * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
+       wide_prolog_niters argument, emit widening instructions.
+       (vect_do_peeling_for_alignment): Adjust caller, use widened
+       variant of the iteration cound.
+       * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
+
+2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       PR target/38697
+       * config/arm/neon-testgen.m (emit_automatics): New parameter
+       features. Adjust for Fixed_return_reg feature.
+       (test_intrinsic): Call emit_automatics with new feature.
+       * config/arm/neon.ml: Update copyright years.
+       (features): New Fixed_return_reg feature.
+       (ops): Update feature for Vget_low.
+
 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
 
+       PR tree-optimization/42719
+       * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
+       stmt uses.
+
        PR debug/42728
        * fwprop.c (all_uses_available_at): Return false if def_set dest
        is a REG that is used in def_insn.
 
        (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
 
-       (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was 
+       (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
        misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
 
        (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.