OSDN Git Service

* reload1.c (eliminate_regs_in_insn): Don't restore an operand
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8d2578f..ed09c30 100644 (file)
+2010-04-10  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
+
+       * ira-costs.c (record_reg_classes): Ignore alternatives that are
+       not enabled.
+
+       * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
+       * web.c: Include "insn-config.h" and "recog.h".
+       (union_match_dups): New function.
+       (web_main): Call it.
+       (union_defs): Don't try to recognize match_dups.
+
+       * reload1.c (eliminate_regs_in_insn): Don't restore an operand
+       if doing so would replace the entire pattern.
+
+2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/43707
+       PR target/43709
+       * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
+       and splitter pattern.  Change splitter operand 1 predicate to
+       nonmemory_operand.
+
+2010-04-09  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
+       lattices are addresses of CONST_DECLs with the same initial value.
+       (ipcp_print_all_lattices): Print values of CONST_DECLs.
+       * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
+
+2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
+           Bernd Schmidt  <bernd.schmidt@codesourcery.com>
+
+       * loop-invariant.c (replace_uses): New static function.
+       (move_invariant_reg): Use it to ensure we can replace the uses.
+
+2010-04-09  Hariharan Sandanagobalane  <hariharan@picochip.com>
+
+       * config/picochip/picochip.c (picochip_rtx_costs): Use correct function
+       template.
+       (picochip_override_options): Enable section anchors only above -O1.
+       (picochip_reorg): Fixed a couple of build warnings.
+
+2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (plugin -rdynamic test): Log result.
+       * configure: Regenerate.
+       * config/sol2.h (LINK_SPEC): Handle -rdynamic.
+       (RDYNAMIC_SPEC): Define.
+       * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
+
+2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac: Determine Sun ld version numbers.
+       (comdat_group): Restrict GNU ld version checks to gld.
+       (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
+       (enable_comdat): Support --enable-comdat.
+       * configure: Regenerate.
+       * doc/install.texi (Configuration): Document --enable-comdat.
+
+2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
+       * config/sol2-gld.h: ... here.
+       * config.gcc (sparc*-*-solaris2*): Reflect this.
+       (i[34567]86-*-solaris2*): Use it.
+
+2010-04-09  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
+       setup_clocks_p.
+       (final_emit_insn_group_barriers): Remove unused variable prev_insn.
+
+2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR 42965
+       * diagnostic.c (diagnostic_initialize): Initialize
+       some_warnings_are_errors.
+       (diagnostic_finish): New.
+       (diagnostic_action_after_output): Call it before exiting.
+       (diagnostic_report_diagnostic): Do not print message here. Set
+       some_warnings_are_errors.
+       * diagnostic.h (diagnostic_context): Delete
+       issue_warnings_are_errors_message. Add some_warnings_are_errors.
+       (diagnostic_finish): Declare.
+       * toplev.c (toplev_main): Call it before exit.
+
+2010-04-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/42623
+       * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
+       for incomplete type.
+
+       PR c++/41788
+       * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
+       based on a warning flag.
+
+2010-04-09  Richard Guenther  <rguenther@suse.de>
+
+       * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
+
+2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
+
+       PR bootstrap/43684
+       * varasm.c (default_assemble_visibility): Wrap vars that are
+       set, but unused, by targets without GAS.
+       * config/rs6000/rs6000.c: (paired_emit_vector_compare):
+       Remove set, but unused, vars.
+       (rs6000_legitimize_tls_address): Likewise.
+       (altivec_expand_dst_builtin): Likewise.
+       * config/darwin.c (machopic_classify_symbol): Likewise.
+       (machopic_indirection_name): Likewise.
+
+2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (DWI): New mode iterator.
+       (S): New mode attribute.
+       (shift_operand): Ditto.
+       (shift_immediate_operand): Ditto.
+       (ashl_input_operand): Ditto.
+       (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
+       using SDWIM mode iterator.
+       (*ashl<mode>3_doubleword): New insn_and_split_pattern.  Macroize
+       pattern from *ashl{di,ti}3_1 and corresponding splitters using
+       DWI mode iterator.
+       (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
+       from corresponding peephole2 patterns.
+       (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
+       and x86_64_shift_adj_1 using SWI48 mode iterator.
+       (x86_shift<mode>_adj_2): Ditto.
+       (*ashldi3_1_rex64): Split TYPE_LEA pattern.
+       (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
+       using SWI48 mode iterator.
+       (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
+       *ashldi3_cmp_rex64 using SWI mode iterator.
+       (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
+       *ashldi3_cconly_rex64 using SWI mode iterator.
+       * config/i386/i386.c (ix86_split_ashl): Update for renamed
+       x86_shift<mode>_adj_{1,2}.
+       (ix86_split_ashr): Ditto.
+       (ix86_split_lshr): Ditto.
+
+2010-04-09  Richard Guenther  <rguenther@suse.de>
+
+       * target.h (builtin_conversion): Pass in input and output types.
+       * targhooks.c (default_builtin_vectorized_conversion): Adjust.
+       * targhooks.h (default_builtin_vectorized_conversion): Likewise.
+       * tree-vect-stmts.c (vectorizable_conversion): Adjust.
+       * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
+
+       * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
+       Handle AVX modes.
+       * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
+
+2010-04-09  Richard Guenther  <rguenther@suse.de>
+
+       PR target/43152
+       * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
+
+2010-04-09  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vectorizer.h (struct _stmt_vec_info): Document
+       that vectype is the type of the LHS.
+       (supportable_widening_operation, supportable_narrowing_operation): 
+       Get both input and output vector types as arguments.
+       (vect_is_simple_use_1): Declare.
+       (get_same_sized_vectype): Likewise.
+       * tree-vect-loop.c (vect_determine_vectorization_factor):
+       Set STMT_VINFO_VECTYPE to the vector type of the def.
+       (vectorizable_reduction): Adjust.
+       * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
+       Adjust.  Specify the output vector type.
+       (vect_pattern_recog_1): Adjust.
+       * tree-vect-stmts.c (get_same_sized_vectype): New function.
+       (vectorizable_call): Adjust.
+       (vectorizable_conversion): Likewise.
+       (vectorizable_operation): Likewise.
+       (vectorizable_type_demotion): Likewise.
+       (vectorizable_type_promotion): Likewise.
+       (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
+       the def.
+       (vect_is_simple_use_1): New function.
+       (supportable_widening_operation): Get both input and output
+       vector types.
+       (supportable_narrowing_operation): Likewise.
+       * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
+
+2010-04-09  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
+       __thiscall and _thiscall as predefined macros.
+       * config/i386/i386.c (ix86_handle_cconv_attribute): Add
+       thiscall attribute handling.
+       (ix86_comp_type_attributes): Likewise.
+       (ix86_function_regparm): Likewise.
+       (ix86_return_pops_args): Likewise.
+       (init_cumulative_args): Likewise.
+       (find_drap_reg): Likewise.
+       (ix86_static_chain): Likewise.
+       (x86_this_parameter): Likewise.
+       (x86_output_mi_thunk): Likewise.
+       (ix86_attribute_table): Add description for thiscall attribute.
+       * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
+       * doc/extend.texi: Add documentation for thiscall.
+       
+2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR c++/28584
+       * c.opt (Wint-to-pointer-cast): Available in C++.
+       * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
+
+2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
+       * calls.c (expand_call): Pass the function type to aggregate_value_p.
+       * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
+       the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
+       function type instead.  Reorder and simplify checks.
+
+       * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
+
 2010-04-08  Jing Yu  <jingyu@google.com>
            Zdenek Dvorak  <ook@ucw.cz>
 
        PR tree-optimization/42720
        * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
-       loop unswitch conditions here from
-       (tree_unswitch_single_loop).
+       loop unswitch conditions here from ...
+       (tree_unswitch_single_loop): ... here.
 
 2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
 
 2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
             Wolfgang Gellerich  <gellerich@de.ibm.com>
 
-        Implement target hook for loop unrolling
-        * target.h (loop_unroll_adjust): Add a new target hook function.
-        * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
-        * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
-        * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
-        (s390_loop_unroll_adjust): Implement the new target hook for s390.
-        * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll target hook
-        (decide_unroll_stupid): Likewise.
+       Implement target hook for loop unrolling
+       * target.h (loop_unroll_adjust): Add a new target hook function.
+       * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
+       * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
+       * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
+       (s390_loop_unroll_adjust): Implement the new target hook for s390.
+       * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
+       target hook.
+       (decide_unroll_stupid): Likewise.
 
 2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
 2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>
 
        * config/s390/s390.c (override_options): Adjust the z10
-          defaults for max-unroll-times, max-completely-peeled-insns
-          and max-completely-peel-times.
+         defaults for max-unroll-times, max-completely-peeled-insns
+         and max-completely-peel-times.
 
 2010-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
        * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
        Handle reversed comparison ops.
        * tree-sra.c (asm_visit_addr): Use get_base_address.
-       * ipa-prop.c (visit_store_addr_for_mod_analysis): Use
-       get_base_address.
+       * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
        * ipa-reference.c (mark_address): Use get_base_address.
 
 2010-04-07  Richard Guenther  <rguenther@suse.de>
        * doc/invoke.texi (-fargument-alias, -fargument-noalias,
        -fargument-noalias-global, -fargument-noalias-anything): Remove.
        * common.opt: Likewise.
-       * tree-ssa-structalias.c (intra_create_variable_infos): Adjust
-       comment.
-       * alias.c (base_alias_check): Remove flag_argument_noalias
-       handling.
+       * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
+       * alias.c (base_alias_check): Remove flag_argument_noalias handling.
        (nonoverlapping_memrefs_p): Likewise.
        * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
        * opts.c (common_handle_option): Handle OPT_fargument_alias,
 2010-04-07  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/43270
-       * tree-vrp.c (check_array_ref): Fix flexible array member
-       detection.
+       * tree-vrp.c (check_array_ref): Fix flexible array member detection.
        * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
        * tree-ssa-pre.c (phi_translate_1): Adjust.
        (fully_constant_expression): Split out vn_reference handling to ...
 
 2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
-       * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to
-       generic.
+       * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
 
 2010-04-07  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/42617
-       * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with
-       pointer bases build simple mem attributes to retain
-       points-to information.
+       * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
+       bases build simple mem attributes to retain points-to information.
 
 2010-04-07  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/42617
        * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
        discard plain indirect references.
-       * fold-const.c (operand_equal_p): Guard against NULL_TREE
-       type.
+       * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
        * tree.c (tree_nop_conversion): Likewise.
 
 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
 
        PR middle-end/43519
        * graphite-clast-to-gimple.c (max_signed_precision_type): Use
-       lang_hooks.types.type_for_size instead of build_nonstandard_integer_type.
+       lang_hooks.types.type_for_size instead of
+       build_nonstandard_integer_type.
        When converting an unsigned type to signed, double its precision.
        (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
        (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
-       (graphite_create_new_loop_guard): When ub + 1 wraps around, use lb <= ub.
+       (graphite_create_new_loop_guard): When ub + 1 wraps around,
+       use lb <= ub.
 
 2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
 
 
 2010-04-02  Joseph Myers  <joseph@codesourcery.com>
 
-       * read-rtl.c (read_rtx_1): Give an error for EOF while looking for
-       ']'.
+       * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
 
 2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
 
 
 2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
 
-        * config.gcc (lm32-*-rtems*): Add t-lm32.
+       * config.gcc (lm32-*-rtems*): Add t-lm32.
 
 2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
 
-        * config.gcc: Add lm32-*-rtems*.
-        * config/lm32/rtems.h: New file.
+       * config.gcc: Add lm32-*-rtems*.
+       * config/lm32/rtems.h: New file.
 
 2010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
 
        PR middle-end/43602
        Revert
        2010-03-30  Seongbae Park <seongbae.park@gmail.com>
-           Jack Howarth <howarth@bromo.med.uc.edu>
+                   Jack Howarth <howarth@bromo.med.uc.edu>
 
        * tree-profile.c (tree_init_ic_make_global_vars): Make static
        variables TLS.
        Update IDO URL.
        Document GNU as requirement.
        Update configure requirements.
-       (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion,
-       removal.
+       (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
        Recomment IRIX 6.5.18+.
        Document IDF/IDL requirement.
        Document GNU as requirement.